Page MenuHomeFreeBSD

Tweak arm64's cpu_fetch_syscall_args()
ClosedPublic

Authored by trasz on Oct 1 2020, 3:40 PM.
Tags
None
Referenced Files
F152512115: D26629.id77839.diff
Wed, Apr 15, 10:29 AM
F152442557: D26629.diff
Wed, Apr 15, 12:07 AM
F152441939: D26629.id77748.diff
Wed, Apr 15, 12:02 AM
Unknown Object (File)
Tue, Apr 14, 1:34 PM
Unknown Object (File)
Tue, Apr 14, 12:56 PM
Unknown Object (File)
Tue, Apr 14, 12:46 PM
Unknown Object (File)
Sun, Apr 12, 5:11 PM
Unknown Object (File)
Sun, Apr 12, 10:03 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 Not Applicable
Unit
Tests Not Applicable

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
138 ↗(On Diff #77748)

What does dst_ap point at?

Sigh, initialize dst_ap.

sys/arm64/arm64/trap.c
138 ↗(On Diff #77748)

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–148 ↗(On Diff #77839)

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–148 ↗(On Diff #77839)

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.