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)
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
Unknown Object (File)
Thu, May 2, 9:30 PM
Unknown Object (File)
Mar 17 2024, 11:59 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.