Module Name:    src
Committed By:   pooka
Date:           Sat Apr 27 16:02:56 UTC 2013

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

Log Message:
wrap unportable register_t with a long.  should do it in the front
of the house too, but at least this is a start.


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/lib/librumpuser/rumpuser_sp.c
cvs rdiff -u -r1.81 -r1.82 src/sys/rump/include/rump/rumpuser.h
cvs rdiff -u -r1.259 -r1.260 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/lib/librumpuser/rumpuser_sp.c
diff -u src/lib/librumpuser/rumpuser_sp.c:1.52 src/lib/librumpuser/rumpuser_sp.c:1.53
--- src/lib/librumpuser/rumpuser_sp.c:1.52	Sat Apr 27 14:59:08 2013
+++ src/lib/librumpuser/rumpuser_sp.c	Sat Apr 27 16:02:56 2013
@@ -1,4 +1,4 @@
-/*      $NetBSD: rumpuser_sp.c,v 1.52 2013/04/27 14:59:08 pooka Exp $	*/
+/*      $NetBSD: rumpuser_sp.c,v 1.53 2013/04/27 16:02:56 pooka Exp $	*/
 
 /*
  * Copyright (c) 2010, 2011 Antti Kantee.  All Rights Reserved.
@@ -37,7 +37,7 @@
 #include "rumpuser_port.h"
 
 #if !defined(lint)
-__RCSID("$NetBSD: rumpuser_sp.c,v 1.52 2013/04/27 14:59:08 pooka Exp $");
+__RCSID("$NetBSD: rumpuser_sp.c,v 1.53 2013/04/27 16:02:56 pooka Exp $");
 #endif /* !lint */
 
 #include <sys/types.h>
@@ -260,14 +260,17 @@ lwproc_lwpexit(void)
 }
 
 static int
-rumpsyscall(int sysnum, void *data, register_t *retval)
+rumpsyscall(int sysnum, void *data, register_t *regrv)
 {
+	long retval[2] = {0, 0};
 	int rv;
 
 	spops.spop_schedule();
 	rv = spops.spop_syscall(sysnum, data, retval);
 	spops.spop_unschedule();
 
+	regrv[0] = retval[0];
+	regrv[1] = retval[1];
 	return rv;
 }
 

Index: src/sys/rump/include/rump/rumpuser.h
diff -u src/sys/rump/include/rump/rumpuser.h:1.81 src/sys/rump/include/rump/rumpuser.h:1.82
--- src/sys/rump/include/rump/rumpuser.h:1.81	Sat Apr 27 15:34:53 2013
+++ src/sys/rump/include/rump/rumpuser.h	Sat Apr 27 16:02:55 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpuser.h,v 1.81 2013/04/27 15:34:53 pooka Exp $	*/
+/*	$NetBSD: rumpuser.h,v 1.82 2013/04/27 16:02:55 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007-2011 Antti Kantee.  All Rights Reserved.
@@ -209,7 +209,7 @@ struct rumpuser_sp_ops {
 	int (*spop_lwproc_rfork)(void *, int, const char *);
 	int (*spop_lwproc_newlwp)(pid_t);
 	struct lwp * (*spop_lwproc_curlwp)(void);
-	int (*spop_syscall)(int, void *, register_t *);
+	int (*spop_syscall)(int, void *, long *);
 	void (*spop_lwpexit)(void);
 	void (*spop_execnotify)(const char *);
 	pid_t (*spop_getpid)(void);

Index: src/sys/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.259 src/sys/rump/librump/rumpkern/rump.c:1.260
--- src/sys/rump/librump/rumpkern/rump.c:1.259	Sat Apr 27 15:13:11 2013
+++ src/sys/rump/librump/rumpkern/rump.c	Sat Apr 27 16:02:56 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump.c,v 1.259 2013/04/27 15:13:11 pooka Exp $	*/
+/*	$NetBSD: rump.c,v 1.260 2013/04/27 16:02:56 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007-2011 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.259 2013/04/27 15:13:11 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.260 2013/04/27 16:02:56 pooka Exp $");
 
 #include <sys/systm.h>
 #define ELFSIZE ARCH_ELFSIZE
@@ -101,7 +101,7 @@ int rump_threads = 0;
 int rump_threads = 1;
 #endif
 
-static int rump_proxy_syscall(int, void *, register_t *);
+static int rump_proxy_syscall(int, void *, long *);
 static int rump_proxy_rfork(void *, int, const char *);
 static void rump_proxy_lwpexit(void);
 static void rump_proxy_execnotify(const char *);
@@ -781,8 +781,9 @@ rump_kernelfsym_load(void *symtab, uint6
 }
 
 static int
-rump_proxy_syscall(int num, void *arg, register_t *retval)
+rump_proxy_syscall(int num, void *arg, long *retval)
 {
+	register_t regrv[2] = {0, 0};
 	struct lwp *l;
 	struct sysent *callp;
 	int rv;
@@ -792,7 +793,9 @@ rump_proxy_syscall(int num, void *arg, r
 
 	callp = rump_sysent + num;
 	l = curlwp;
-	rv = sy_call(callp, l, (void *)arg, retval);
+	rv = sy_call(callp, l, (void *)arg, regrv);
+	retval[0] = regrv[0];
+	retval[1] = regrv[1];
 
 	return rv;
 }

Reply via email to