Module Name:    src
Committed By:   pooka
Date:           Wed Nov 17 21:52:29 UTC 2010

Modified Files:
        src/sys/rump/librump/rumpkern: rump.c

Log Message:
Provide a special rump_proxy_syscall for handling received proxy
syscalls and retire unused rump_syscall.


To generate a diff of this commit:
cvs rdiff -u -r1.198 -r1.199 src/sys/rump/librump/rumpkern/rump.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.198 src/sys/rump/librump/rumpkern/rump.c:1.199
--- src/sys/rump/librump/rumpkern/rump.c:1.198	Wed Nov 17 19:54:09 2010
+++ src/sys/rump/librump/rumpkern/rump.c	Wed Nov 17 21:52:29 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump.c,v 1.198 2010/11/17 19:54:09 pooka Exp $	*/
+/*	$NetBSD: rump.c,v 1.199 2010/11/17 21:52:29 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007 Antti Kantee.  All Rights Reserved.
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.198 2010/11/17 19:54:09 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.199 2010/11/17 21:52:29 pooka Exp $");
 
 #include <sys/systm.h>
 #define ELFSIZE ARCH_ELFSIZE
@@ -107,6 +107,8 @@
 static struct vmspace sp_vmspace;
 static bool iamtheserver = false;
 
+static int rump_proxy_syscall(int, void *, register_t *);
+
 static char rump_msgbuf[16*1024]; /* 16k should be enough for std rump needs */
 
 static void
@@ -195,7 +197,7 @@
 	.spop_lwproc_release	= rump_lwproc_releaselwp,
 	.spop_lwproc_newproc	= rump_lwproc_newproc,
 	.spop_lwproc_curlwp	= rump_lwproc_curlwp,
-	.spop_syscall		= rump_syscall,
+	.spop_syscall		= rump_proxy_syscall,
 };
 
 int
@@ -634,8 +636,8 @@
 	return 0;
 }
 
-int
-rump_syscall(int num, void *arg, register_t *retval)
+static int
+rump_proxy_syscall(int num, void *arg, register_t *retval)
 {
 	struct lwp *l;
 	struct sysent *callp;
@@ -646,11 +648,9 @@
 
 	callp = rump_sysent + num;
 	l = curlwp;
-	if (iamtheserver)
-		curproc->p_vmspace = &sp_vmspace;
+	curproc->p_vmspace = &sp_vmspace;
 	rv = sy_call(callp, l, (void *)arg, retval);
-	if (iamtheserver)
-		curproc->p_vmspace = vmspace_kernel();
+	curproc->p_vmspace = vmspace_kernel();
 
 	return rv;
 }

Reply via email to