Module Name:    src
Committed By:   pooka
Date:           Fri Nov 19 17:06:57 UTC 2010

Modified Files:
        src/sys/rump/include/rump: rumpuser.h
        src/sys/rump/librump/rumpkern: rump.c

Log Message:
Pass routines necessary for multithreaded operation down to rumpuser_sp.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/sys/rump/include/rump/rumpuser.h
cvs rdiff -u -r1.200 -r1.201 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/include/rump/rumpuser.h
diff -u src/sys/rump/include/rump/rumpuser.h:1.50 src/sys/rump/include/rump/rumpuser.h:1.51
--- src/sys/rump/include/rump/rumpuser.h:1.50	Thu Nov  4 20:57:00 2010
+++ src/sys/rump/include/rump/rumpuser.h	Fri Nov 19 17:06:57 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpuser.h,v 1.50 2010/11/04 20:57:00 pooka Exp $	*/
+/*	$NetBSD: rumpuser.h,v 1.51 2010/11/19 17:06:57 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007 Antti Kantee.  All Rights Reserved.
@@ -36,7 +36,7 @@
 #include <stdint.h>
 #endif
 
-#define RUMPUSER_VERSION 3
+#define RUMPUSER_VERSION 4
 int rumpuser_getversion(void);
 
 struct msghdr;
@@ -211,8 +211,10 @@
 	void (*spop_lwproc_switch)(struct lwp *);
 	void (*spop_lwproc_release)(void);
 	int (*spop_lwproc_newproc)(void);
+	int (*spop_lwproc_newlwp)(pid_t);
 	struct lwp * (*spop_lwproc_curlwp)(void);
 	int (*spop_syscall)(int, void *, register_t *);
+	pid_t (*spop_getpid)(void);
 };
 
 int	rumpuser_sp_init(const struct rumpuser_sp_ops *, const char *);

Index: src/sys/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.200 src/sys/rump/librump/rumpkern/rump.c:1.201
--- src/sys/rump/librump/rumpkern/rump.c:1.200	Wed Nov 17 21:57:33 2010
+++ src/sys/rump/librump/rumpkern/rump.c	Fri Nov 19 17:06:56 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump.c,v 1.200 2010/11/17 21:57:33 pooka Exp $	*/
+/*	$NetBSD: rump.c,v 1.201 2010/11/19 17:06:56 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.200 2010/11/17 21:57:33 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.201 2010/11/19 17:06:56 pooka Exp $");
 
 #include <sys/systm.h>
 #define ELFSIZE ARCH_ELFSIZE
@@ -190,14 +190,24 @@
 	    &hostname, MAXHOSTNAMELEN, CTL_KERN, KERN_HOSTNAME, CTL_EOL);
 }
 
+/* there's no convenient kernel entry point for this, so just craft out own */
+static pid_t
+spgetpid(void)
+{
+
+	return curproc->p_pid;
+}
+
 static const struct rumpuser_sp_ops spops = {
 	.spop_schedule		= rump_schedule,
 	.spop_unschedule	= rump_unschedule,
 	.spop_lwproc_switch	= rump_lwproc_switch,
 	.spop_lwproc_release	= rump_lwproc_releaselwp,
 	.spop_lwproc_newproc	= rump_lwproc_newproc,
+	.spop_lwproc_newlwp	= rump_lwproc_newlwp,
 	.spop_lwproc_curlwp	= rump_lwproc_curlwp,
 	.spop_syscall		= rump_proxy_syscall,
+	.spop_getpid		= spgetpid,
 };
 
 int

Reply via email to