summaryrefslogtreecommitdiffstats
path: root/sys/amd64/ia32/ia32_syscall.c
diff options
context:
space:
mode:
authorLuiz Souza <luiz@netgate.com>2018-02-21 14:26:22 -0300
committerLuiz Souza <luiz@netgate.com>2018-02-21 14:26:22 -0300
commit4c9907d21517c211b27a3cf5b7a2a976623820cc (patch)
treee6d44f1e5491e491582dc98d2ad92231d99257c5 /sys/amd64/ia32/ia32_syscall.c
parent911d650e1367dc4a6ac7feb96f47fc87fd6a4984 (diff)
downloadFreeBSD-src-4c9907d21517c211b27a3cf5b7a2a976623820cc.zip
FreeBSD-src-4c9907d21517c211b27a3cf5b7a2a976623820cc.tar.gz
Revert "MFC r319873:"
This reverts commit 5dad0dd804a33b8a372d49fa342b24c67b1c2fb3.
Diffstat (limited to 'sys/amd64/ia32/ia32_syscall.c')
-rw-r--r--sys/amd64/ia32/ia32_syscall.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/amd64/ia32/ia32_syscall.c b/sys/amd64/ia32/ia32_syscall.c
index c07b38c..6e96edd 100644
--- a/sys/amd64/ia32/ia32_syscall.c
+++ b/sys/amd64/ia32/ia32_syscall.c
@@ -105,18 +105,16 @@ ia32_set_syscall_retval(struct thread *td, int error)
}
int
-ia32_fetch_syscall_args(struct thread *td)
+ia32_fetch_syscall_args(struct thread *td, struct syscall_args *sa)
{
struct proc *p;
struct trapframe *frame;
- struct syscall_args *sa;
caddr_t params;
u_int32_t args[8], tmp;
int error, i;
p = td->td_proc;
frame = td->td_frame;
- sa = &td->td_sa;
params = (caddr_t)frame->tf_rsp + sizeof(u_int32_t);
sa->code = frame->tf_rax;
@@ -177,6 +175,7 @@ void
ia32_syscall(struct trapframe *frame)
{
struct thread *td;
+ struct syscall_args sa;
register_t orig_tf_rflags;
int error;
ksiginfo_t ksi;
@@ -185,7 +184,7 @@ ia32_syscall(struct trapframe *frame)
td = curthread;
td->td_frame = frame;
- error = syscallenter(td);
+ error = syscallenter(td, &sa);
/*
* Traced syscall.
@@ -199,7 +198,7 @@ ia32_syscall(struct trapframe *frame)
trapsignal(td, &ksi);
}
- syscallret(td, error);
+ syscallret(td, error, &sa);
}
static void
OpenPOWER on IntegriCloud