diff options
author | Luiz Souza <luiz@netgate.com> | 2018-02-23 19:40:39 -0300 |
---|---|---|
committer | Luiz Souza <luiz@netgate.com> | 2018-02-23 19:40:39 -0300 |
commit | 9e3f9eb19aae437c111a95ba286571c3d9cfcf7e (patch) | |
tree | 8fb26b9ab223341823fa6d64b3743de9220ed044 /sys/arm/arm | |
parent | 810d45dfd8239a4b42661bd4bb4e470e3a41799d (diff) | |
download | FreeBSD-src-9e3f9eb19aae437c111a95ba286571c3d9cfcf7e.zip FreeBSD-src-9e3f9eb19aae437c111a95ba286571c3d9cfcf7e.tar.gz |
Revert "Revert "MFC r319873:""
This reverts commit 4c9907d21517c211b27a3cf5b7a2a976623820cc.
Diffstat (limited to 'sys/arm/arm')
-rw-r--r-- | sys/arm/arm/syscall.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/arm/arm/syscall.c b/sys/arm/arm/syscall.c index 1ff48ab..8c33fff 100644 --- a/sys/arm/arm/syscall.c +++ b/sys/arm/arm/syscall.c @@ -99,12 +99,14 @@ __FBSDID("$FreeBSD$"); void swi_handler(struct trapframe *); int -cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa) +cpu_fetch_syscall_args(struct thread *td) { struct proc *p; register_t *ap; + struct syscall_args *sa; int error; + sa = &td->td_sa; sa->code = td->td_frame->tf_r7; ap = &td->td_frame->tf_r0; if (sa->code == SYS_syscall) { @@ -141,15 +143,14 @@ cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa) static void syscall(struct thread *td, struct trapframe *frame) { - struct syscall_args sa; int error; - sa.nap = 4; + td->td_sa.nap = 4; - error = syscallenter(td, &sa); + error = syscallenter(td); KASSERT(error != 0 || td->td_ar == NULL, ("returning from syscall with td_ar set!")); - syscallret(td, error, &sa); + syscallret(td, error); } void |