diff options
Diffstat (limited to 'sys/compat/linux')
| -rw-r--r-- | sys/compat/linux/arch/i386/linux_machdep.c | 8 | ||||
| -rw-r--r-- | sys/compat/linux/common/linux_exec.c | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/sys/compat/linux/arch/i386/linux_machdep.c b/sys/compat/linux/arch/i386/linux_machdep.c index b6f9497bc8c..245a29af05f 100644 --- a/sys/compat/linux/arch/i386/linux_machdep.c +++ b/sys/compat/linux/arch/i386/linux_machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_machdep.c,v 1.94 2003/08/21 08:36:56 hannken Exp $ */ +/* $NetBSD: linux_machdep.c,v 1.95 2003/08/24 17:52:43 chs Exp $ */ /*- * Copyright (c) 1995, 2000 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_machdep.c,v 1.94 2003/08/21 08:36:56 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_machdep.c,v 1.95 2003/08/24 17:52:43 chs Exp $"); #if defined(_KERNEL_OPT) #include "opt_vm86.h" @@ -174,7 +174,7 @@ linux_setregs(l, epp, stack) tf->tf_ecx = 0; tf->tf_eax = 0; tf->tf_eip = epp->ep_entry; - tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL); + tf->tf_cs = GSEL(GUCODEBIG_SEL, SEL_UPL); tf->tf_eflags = PSL_USERSET; tf->tf_esp = stack; tf->tf_ss = GSEL(GUDATA_SEL, SEL_UPL); @@ -413,7 +413,7 @@ linux_old_sendsig(sig, mask, code) tf->tf_es = GSEL(GUDATA_SEL, SEL_UPL); tf->tf_ds = GSEL(GUDATA_SEL, SEL_UPL); tf->tf_eip = (int)p->p_sigctx.ps_sigcode; - tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL); + tf->tf_cs = GSEL(GUCODEBIG_SEL, SEL_UPL); tf->tf_eflags &= ~(PSL_T|PSL_VM|PSL_AC); tf->tf_esp = (int)fp; tf->tf_ss = GSEL(GUDATA_SEL, SEL_UPL); diff --git a/sys/compat/linux/common/linux_exec.c b/sys/compat/linux/common/linux_exec.c index b61cb0f0b0e..8525d570fb3 100644 --- a/sys/compat/linux/common/linux_exec.c +++ b/sys/compat/linux/common/linux_exec.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_exec.c,v 1.64 2003/06/29 22:29:26 fvdl Exp $ */ +/* $NetBSD: linux_exec.c,v 1.65 2003/08/24 17:52:43 chs Exp $ */ /*- * Copyright (c) 1994, 1995, 1998, 2000 The NetBSD Foundation, Inc. @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_exec.c,v 1.64 2003/06/29 22:29:26 fvdl Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_exec.c,v 1.65 2003/08/24 17:52:43 chs Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -111,6 +111,9 @@ linux_sys_execve(l, v, retval) /* * Emulation switch. */ + +struct uvm_object *emul_linux_object; + const struct emul emul_linux = { "linux", "/emul/linux", @@ -126,6 +129,7 @@ const struct emul emul_linux = { linux_trapsignal, linux_sigcode, linux_esigcode, + &emul_linux_object, linux_setregs, linux_e_proc_exec, linux_e_proc_fork, |
