Page MenuHomeFreeBSD

Tweak arm64's cpu_fetch_syscall_args()
ClosedPublic

Authored by trasz on Oct 1 2020, 3:40 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, May 15, 2:07 PM
Unknown Object (File)
Sun, May 12, 8:45 PM
Unknown Object (File)
Fri, May 3, 12:31 AM
Unknown Object (File)
Fri, May 3, 12:31 AM
Unknown Object (File)
Fri, May 3, 12:31 AM
Unknown Object (File)
Fri, May 3, 12:31 AM
Unknown Object (File)
Fri, May 3, 12:31 AM
Unknown Object (File)
Fri, May 3, 12:31 AM
Subscribers

Details

Summary

Tweak arm64's cpu_fetch_syscall_args(). This should make it possible
for the compiler to inline the memcpy().

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 33937
Build 31134: arc lint + arc unit

Event Timeline

trasz requested review of this revision.Oct 1 2020, 3:40 PM
trasz retitled this revision from Tweak amd64's cpu_fetch_syscall_args() to Tweak arm64's cpu_fetch_syscall_args().Oct 1 2020, 3:40 PM
trasz edited the summary of this revision. (Show Details)
trasz added a reviewer: ARM.

Try to make it more buildable.

sys/arm64/arm64/trap.c
139

What does dst_ap point at?

Sigh, initialize dst_ap.

sys/arm64/arm64/trap.c
139

Let's leave this review alone until I both tinderbox _and_ test it.

I've tested it, it works and is ready for review.

andrew added inline comments.
sys/arm64/arm64/trap.c
147–151

Won't this be wrong in the SYS_syscall an SYS___syscall cases?

This revision is now accepted and ready to land.Oct 5 2020, 5:14 PM
sys/arm64/arm64/trap.c
147–151

I don't think so; in both cases - when calling through syscall(2), and when calling the "destination" syscall directly - the number of arguments to put into sa->args is the same; it's just the layout in the registers (or trapframe) that differs; this is taken care of a few lines above.