summaryrefslogtreecommitdiff
path: root/sys/arch/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/i386')
-rw-r--r--sys/arch/i386/i386/linux_machdep.c10
-rw-r--r--sys/arch/i386/i386/machdep.c4
-rw-r--r--sys/arch/i386/i386/trap.c16
3 files changed, 15 insertions, 15 deletions
diff --git a/sys/arch/i386/i386/linux_machdep.c b/sys/arch/i386/i386/linux_machdep.c
index ffa82f656f4..81d4081d6f0 100644
--- a/sys/arch/i386/i386/linux_machdep.c
+++ b/sys/arch/i386/i386/linux_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: linux_machdep.c,v 1.44 2014/03/22 06:05:45 guenther Exp $ */
+/* $OpenBSD: linux_machdep.c,v 1.45 2014/03/26 05:23:42 guenther Exp $ */
/* $NetBSD: linux_machdep.c,v 1.29 1996/05/03 19:42:11 christos Exp $ */
/*
@@ -179,7 +179,7 @@ linux_sendsig(sig_t catcher, int sig, int mask, u_long code, int type,
*/
tf->tf_es = GSEL(GUDATA_SEL, SEL_UPL);
tf->tf_ds = GSEL(GUDATA_SEL, SEL_UPL);
- tf->tf_eip = p->p_sigcode;
+ tf->tf_eip = p->p_p->ps_sigcode;
tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL);
tf->tf_eflags &= ~(PSL_T|PSL_D|PSL_VM|PSL_AC);
tf->tf_esp = (int)fp;
@@ -283,7 +283,7 @@ linux_read_ldt(struct proc *p, struct linux_sys_modify_ldt_args *uap,
if (user_ldt_enable == 0)
return (ENOSYS);
- sg = stackgap_init(p->p_emul);
+ sg = stackgap_init(p);
gl.start = 0;
gl.desc = SCARG(uap, ptr);
@@ -333,7 +333,7 @@ linux_write_ldt(struct proc *p, struct linux_sys_modify_ldt_args *uap,
if (ldt_info.contents == 3)
return (EINVAL);
- sg = stackgap_init(p->p_emul);
+ sg = stackgap_init(p);
sd.sd_lobase = ldt_info.base_addr & 0xffffff;
sd.sd_hibase = (ldt_info.base_addr >> 24) & 0xff;
@@ -529,7 +529,7 @@ linux_machdepioctl(struct proc *p, void *v, register_t *retval)
return error;
lvt.frsig = sig;
- sg = stackgap_init(p->p_emul);
+ sg = stackgap_init(p);
bvtp = stackgap_alloc(&sg, sizeof (struct vt_mode));
if ((error = copyout(&lvt, bvtp, sizeof (struct vt_mode))))
return error;
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c
index 26c177d02f9..fca0ad8b2b0 100644
--- a/sys/arch/i386/i386/machdep.c
+++ b/sys/arch/i386/i386/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.534 2014/03/22 06:05:45 guenther Exp $ */
+/* $OpenBSD: machdep.c,v 1.535 2014/03/26 05:23:42 guenther Exp $ */
/* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */
/*-
@@ -2401,7 +2401,7 @@ sendsig(sig_t catcher, int sig, int mask, u_long code, int type,
tf->tf_gs = GSEL(GUGS_SEL, SEL_UPL);
tf->tf_es = GSEL(GUDATA_SEL, SEL_UPL);
tf->tf_ds = GSEL(GUDATA_SEL, SEL_UPL);
- tf->tf_eip = p->p_sigcode;
+ tf->tf_eip = p->p_p->ps_sigcode;
tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL);
tf->tf_eflags &= ~(PSL_T|PSL_D|PSL_VM|PSL_AC);
tf->tf_esp = (int)fp;
diff --git a/sys/arch/i386/i386/trap.c b/sys/arch/i386/i386/trap.c
index 73f4d190ebd..216d16656fa 100644
--- a/sys/arch/i386/i386/trap.c
+++ b/sys/arch/i386/i386/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.112 2014/03/07 07:47:14 gerhard Exp $ */
+/* $OpenBSD: trap.c,v 1.113 2014/03/26 05:23:42 guenther Exp $ */
/* $NetBSD: trap.c,v 1.95 1996/05/05 06:50:02 mycroft Exp $ */
/*-
@@ -562,8 +562,8 @@ syscall(struct trapframe *frame)
opc = frame->tf_eip;
code = frame->tf_eax;
- nsys = p->p_emul->e_nsysent;
- callp = p->p_emul->e_sysent;
+ nsys = p->p_p->ps_emul->e_nsysent;
+ callp = p->p_p->ps_emul->e_sysent;
params = (caddr_t)frame->tf_esp + sizeof(int);
@@ -582,7 +582,7 @@ syscall(struct trapframe *frame)
case SYS_syscall:
#ifdef COMPAT_LINUX
/* Linux has a special system setup call as number 0 */
- if (p->p_emul == &emul_linux_elf)
+ if (p->p_p->ps_emul == &emul_linux_elf)
break;
#endif
/*
@@ -605,13 +605,13 @@ syscall(struct trapframe *frame)
break;
}
if (code < 0 || code >= nsys)
- callp += p->p_emul->e_nosys; /* illegal */
+ callp += p->p_p->ps_emul->e_nosys; /* illegal */
else
callp += code;
argsize = callp->sy_argsize;
#ifdef COMPAT_LINUX
/* XXX extra if() for every emul type.. */
- if (p->p_emul == &emul_linux_elf) {
+ if (p->p_p->ps_emul == &emul_linux_elf) {
/*
* Linux passes the args in ebx, ecx, edx, esi, edi, ebp, in
* increasing order.
@@ -666,8 +666,8 @@ syscall(struct trapframe *frame)
break;
default:
bad:
- if (p->p_emul->e_errno && error >= 0 && error <= ELAST)
- frame->tf_eax = p->p_emul->e_errno[error];
+ if (p->p_p->ps_emul->e_errno && error >= 0 && error <= ELAST)
+ frame->tf_eax = p->p_p->ps_emul->e_errno[error];
else
frame->tf_eax = error;
frame->tf_eflags |= PSL_C; /* carry bit */