summaryrefslogtreecommitdiffstats
path: root/sys/arm/arm
diff options
context:
space:
mode:
authorLuiz Souza <luiz@netgate.com>2018-02-23 19:40:39 -0300
committerLuiz Souza <luiz@netgate.com>2018-02-23 19:40:39 -0300
commit9e3f9eb19aae437c111a95ba286571c3d9cfcf7e (patch)
tree8fb26b9ab223341823fa6d64b3743de9220ed044 /sys/arm/arm
parent810d45dfd8239a4b42661bd4bb4e470e3a41799d (diff)
downloadFreeBSD-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.c11
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
OpenPOWER on IntegriCloud