Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/compat/netbsd32 allow to start other emulations (eg nati...
details: https://anonhg.NetBSD.org/src/rev/da1e53a28f8c
branches: trunk
changeset: 558742:da1e53a28f8c
user: drochner <drochner%NetBSD.org@localhost>
date: Wed Feb 25 18:15:45 2004 +0000
description:
allow to start other emulations (eg native code)
from here: set p_execsw to the new thing, and call
the new emulation's syscall_intern()
XXX there are more differences to kern_exec.c, sa/ras
related afaics, this is harmliss for now since
netbsd32 doesn't support multithreaded programs yet --
one day one execve() implementation should be shared
by native and netbsd32 code.
diffstat:
sys/compat/netbsd32/netbsd32_execve.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diffs (31 lines):
diff -r 28db85ccd1f2 -r da1e53a28f8c sys/compat/netbsd32/netbsd32_execve.c
--- a/sys/compat/netbsd32/netbsd32_execve.c Wed Feb 25 15:00:59 2004 +0000
+++ b/sys/compat/netbsd32/netbsd32_execve.c Wed Feb 25 18:15:45 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_execve.c,v 1.17 2003/06/29 22:29:37 fvdl Exp $ */
+/* $NetBSD: netbsd32_execve.c,v 1.18 2004/02/25 18:15:45 drochner Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_execve.c,v 1.17 2003/06/29 22:29:37 fvdl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_execve.c,v 1.18 2004/02/25 18:15:45 drochner Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ktrace.h"
@@ -462,6 +462,12 @@
/* update p_emul, the old value is no longer needed */
p->p_emul = pack.ep_es->es_emul;
+ /* ...and the same for p_execsw */
+ p->p_execsw = pack.ep_es;
+
+#ifdef __HAVE_SYSCALL_INTERN
+ (*p->p_emul->e_syscall_intern)(p);
+#endif
#ifdef KTRACE
if (KTRPOINT(p, KTR_EMUL))
ktremul(p);
Home |
Main Index |
Thread Index |
Old Index