From 87c550209612d49384b0a8f1177ea278fc14bbc7 Mon Sep 17 00:00:00 2001 From: Philip Guenther Date: Wed, 26 Mar 2014 05:23:43 +0000 Subject: Move p_emul and p_sigcode from proc to process. Tweak the handling of ktrace EMUL when changing ktracing: only generate one per process (not one per thread) and pass the correct proc pointer down to the VFS layer. Permit generating of NAMI and CSW records inside ktrace(2) itself. ok deraadt@ millert@ --- sys/arch/solbourne/solbourne/machdep.c | 4 ++-- sys/arch/solbourne/solbourne/trap.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'sys/arch/solbourne') diff --git a/sys/arch/solbourne/solbourne/machdep.c b/sys/arch/solbourne/solbourne/machdep.c index d408d37f222..145f0e4401d 100644 --- a/sys/arch/solbourne/solbourne/machdep.c +++ b/sys/arch/solbourne/solbourne/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.29 2014/03/22 06:05:45 guenther Exp $ */ +/* $OpenBSD: machdep.c,v 1.30 2014/03/26 05:23:42 guenther Exp $ */ /* OpenBSD: machdep.c,v 1.105 2005/04/11 15:13:01 deraadt Exp */ /* @@ -447,7 +447,7 @@ sendsig(catcher, sig, mask, code, type, val) * Arrange to continue execution at the code copied out in exec(). * It needs the function to call in %g1, and a new stack pointer. */ - caddr = p->p_sigcode; + caddr = p->p_p->ps_sigcode; tf->tf_global[1] = (int)catcher; tf->tf_pc = caddr; tf->tf_npc = caddr + 4; diff --git a/sys/arch/solbourne/solbourne/trap.c b/sys/arch/solbourne/solbourne/trap.c index 14fe1445b3a..1796ae3a74b 100644 --- a/sys/arch/solbourne/solbourne/trap.c +++ b/sys/arch/solbourne/solbourne/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.17 2012/12/31 06:46:14 guenther Exp $ */ +/* $OpenBSD: trap.c,v 1.18 2014/03/26 05:23:42 guenther Exp $ */ /* OpenBSD: trap.c,v 1.42 2004/12/06 20:12:25 miod Exp */ /* @@ -788,8 +788,8 @@ syscall(code, tf, pc) new = code & (SYSCALL_G7RFLAG | SYSCALL_G2RFLAG); code &= ~(SYSCALL_G7RFLAG | SYSCALL_G2RFLAG); - callp = p->p_emul->e_sysent; - nsys = p->p_emul->e_nsysent; + callp = p->p_p->ps_emul->e_sysent; + nsys = p->p_p->ps_emul->e_nsysent; /* * The first six system call arguments are in the six %o registers. @@ -820,7 +820,7 @@ syscall(code, tf, pc) } if (code < 0 || code >= nsys) - callp += p->p_emul->e_nosys; + callp += p->p_p->ps_emul->e_nosys; else { callp += code; i = callp->sy_argsize / sizeof(register_t); -- cgit v1.2.3