Module Name:    src
Committed By:   pooka
Date:           Wed Apr 21 16:16:31 UTC 2010

Modified Files:
        src/sys/rump/librump/rumpkern: Makefile.rumpkern emul.c rump.c
            scheduler.c vm.c

Log Message:
support kern_resource


To generate a diff of this commit:
cvs rdiff -u -r1.78 -r1.79 src/sys/rump/librump/rumpkern/Makefile.rumpkern
cvs rdiff -u -r1.130 -r1.131 src/sys/rump/librump/rumpkern/emul.c
cvs rdiff -u -r1.161 -r1.162 src/sys/rump/librump/rumpkern/rump.c
cvs rdiff -u -r1.10 -r1.11 src/sys/rump/librump/rumpkern/scheduler.c
cvs rdiff -u -r1.70 -r1.71 src/sys/rump/librump/rumpkern/vm.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/Makefile.rumpkern
diff -u src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.78 src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.79
--- src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.78	Wed Apr 21 11:38:05 2010
+++ src/sys/rump/librump/rumpkern/Makefile.rumpkern	Wed Apr 21 16:16:31 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.rumpkern,v 1.78 2010/04/21 11:38:05 pooka Exp $
+#	$NetBSD: Makefile.rumpkern,v 1.79 2010/04/21 16:16:31 pooka Exp $
 #
 
 .include "${RUMPTOP}/Makefile.rump"
@@ -39,10 +39,10 @@
 # sys/kern
 SRCS+=	init_sysctl_base.c kern_auth.c kern_descrip.c kern_event.c	\
 	kern_hook.c kern_ksyms.c kern_malloc_stdtype.c kern_module.c	\
-	kern_mutex_obj.c kern_ntptime.c kern_rate.c kern_stub.c		\
-	kern_syscall.c kern_sysctl.c kern_tc.c kern_timeout.c		\
-	kern_uidinfo.c param.c sys_descrip.c sys_generic.c sys_pipe.c	\
-	sys_select.c syscalls.c
+	kern_mutex_obj.c kern_ntptime.c kern_rate.c kern_resource.c	\
+	kern_stub.c kern_syscall.c kern_sysctl.c kern_tc.c		\
+	kern_timeout.c kern_uidinfo.c param.c sys_descrip.c		\
+	sys_generic.c sys_pipe.c sys_select.c syscalls.c
 
 # sys/kern subr (misc)
 SRCS+=	subr_devsw.c subr_callback.c subr_copy.c subr_device.c		\

Index: src/sys/rump/librump/rumpkern/emul.c
diff -u src/sys/rump/librump/rumpkern/emul.c:1.130 src/sys/rump/librump/rumpkern/emul.c:1.131
--- src/sys/rump/librump/rumpkern/emul.c:1.130	Wed Apr 21 11:38:05 2010
+++ src/sys/rump/librump/rumpkern/emul.c	Wed Apr 21 16:16:31 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: emul.c,v 1.130 2010/04/21 11:38:05 pooka Exp $	*/
+/*	$NetBSD: emul.c,v 1.131 2010/04/21 16:16:31 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007 Antti Kantee.  All Rights Reserved.
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: emul.c,v 1.130 2010/04/21 11:38:05 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: emul.c,v 1.131 2010/04/21 16:16:31 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/null.h>
@@ -309,11 +309,3 @@
 	/* this function is __dead, we must exit */
 	rumpuser_exit(0);
 }
-
-void
-calcru(struct proc *p, struct timeval *up, struct timeval *sp,
-        struct timeval *ip, struct timeval *rp)
-{
-
-	panic("%s unimplemented", __func__);
-}

Index: src/sys/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.161 src/sys/rump/librump/rumpkern/rump.c:1.162
--- src/sys/rump/librump/rumpkern/rump.c:1.161	Sat Apr 17 16:34:29 2010
+++ src/sys/rump/librump/rumpkern/rump.c	Wed Apr 21 16:16:31 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump.c,v 1.161 2010/04/17 16:34:29 pooka Exp $	*/
+/*	$NetBSD: rump.c,v 1.162 2010/04/21 16:16:31 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.161 2010/04/17 16:34:29 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.162 2010/04/21 16:16:31 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -52,6 +52,7 @@
 #include <sys/once.h>
 #include <sys/percpu.h>
 #include <sys/pipe.h>
+#include <sys/pool.h>
 #include <sys/queue.h>
 #include <sys/reboot.h>
 #include <sys/resourcevar.h>
@@ -127,10 +128,23 @@
 
 static int rump_inited;
 
+/*
+ * Make sure pnbuf_cache is available even without vfs
+ */
+struct pool_cache *pnbuf_cache;
+int rump_initpnbufpool(void);
+int rump_initpnbufpool(void)
+{
+
+        pnbuf_cache = pool_cache_init(MAXPATHLEN, 0, 0, 0, "pnbufpl",
+	    NULL, IPL_NONE, NULL, NULL, NULL);
+	return EOPNOTSUPP;
+}
+
 int rump__unavailable(void);
 int rump__unavailable() {return EOPNOTSUPP;}
 __weak_alias(rump_net_init,rump__unavailable);
-__weak_alias(rump_vfs_init,rump__unavailable);
+__weak_alias(rump_vfs_init,rump_initpnbufpool);
 __weak_alias(rump_dev_init,rump__unavailable);
 
 __weak_alias(rump_vfs_fini,rump__unavailable);
@@ -278,9 +292,11 @@
 	proc_lock = mutex_obj_alloc(MUTEX_DEFAULT, IPL_NONE);
 	lwpinit_specificdata();
 
+	mutex_init(&rump_limits.pl_lock, MUTEX_DEFAULT, IPL_NONE);
 	rump_limits.pl_rlimit[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY;
 	rump_limits.pl_rlimit[RLIMIT_NOFILE].rlim_cur = RLIM_INFINITY;
 	rump_limits.pl_rlimit[RLIMIT_SBSIZE].rlim_cur = RLIM_INFINITY;
+	rump_limits.pl_corename = defcorename;
 
 	rump_scheduler_init();
 	/* revert temporary context and schedule a real context */
@@ -317,6 +333,7 @@
 	module_init();
 	devsw_init();
 	pipe_init();
+	resource_init();
 
 	rumpuser_dl_bootstrap(add_linkedin_modules, rump_kernelfsym_load);
 
@@ -479,7 +496,7 @@
 		if (rump_proc_vfs_init)
 			rump_proc_vfs_init(p);
 		p->p_stats = &rump_stats;
-		p->p_limit = &rump_limits;
+		p->p_limit = lim_copy(&rump_limits);
 		p->p_pid = pid;
 		p->p_vmspace = &rump_vmspace;
 		p->p_emul = &emul_netbsd;
@@ -529,6 +546,7 @@
 		if (rump_proc_vfs_release)
 			rump_proc_vfs_release(p);
 		rump_cred_put(l->l_cred);
+		limfree(p->p_limit);
 		kmem_free(p, sizeof(*p));
 	}
 	KASSERT((l->l_flag & LW_WEXIT) == 0);

Index: src/sys/rump/librump/rumpkern/scheduler.c
diff -u src/sys/rump/librump/rumpkern/scheduler.c:1.10 src/sys/rump/librump/rumpkern/scheduler.c:1.11
--- src/sys/rump/librump/rumpkern/scheduler.c:1.10	Sat Apr 17 13:13:45 2010
+++ src/sys/rump/librump/rumpkern/scheduler.c	Wed Apr 21 16:16:31 2010
@@ -1,4 +1,4 @@
-/*      $NetBSD: scheduler.c,v 1.10 2010/04/17 13:13:45 pooka Exp $	*/
+/*      $NetBSD: scheduler.c,v 1.11 2010/04/21 16:16:31 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: scheduler.c,v 1.10 2010/04/17 13:13:45 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: scheduler.c,v 1.11 2010/04/21 16:16:31 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/cpu.h>
@@ -306,3 +306,10 @@
 	 * but skip that for now.
 	 */
 }
+
+void
+sched_nice(struct proc *p, int level)
+{
+
+	/* nothing to do for now */
+}

Index: src/sys/rump/librump/rumpkern/vm.c
diff -u src/sys/rump/librump/rumpkern/vm.c:1.70 src/sys/rump/librump/rumpkern/vm.c:1.71
--- src/sys/rump/librump/rumpkern/vm.c:1.70	Fri Dec  4 17:57:16 2009
+++ src/sys/rump/librump/rumpkern/vm.c	Wed Apr 21 16:16:31 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: vm.c,v 1.70 2009/12/04 17:57:16 pooka Exp $	*/
+/*	$NetBSD: vm.c,v 1.71 2010/04/21 16:16:31 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007 Antti Kantee.  All Rights Reserved.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.70 2009/12/04 17:57:16 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.71 2010/04/21 16:16:31 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -526,6 +526,14 @@
 	return 0;
 }
 
+int
+uvm_map_protect(struct vm_map *map, vaddr_t start, vaddr_t end,
+	vm_prot_t prot, bool set_max)
+{
+
+	return EOPNOTSUPP;
+}
+
 /*
  * UVM km
  */

Reply via email to