Module Name:    src
Committed By:   pooka
Date:           Thu Mar  7 22:12:35 UTC 2013

Modified Files:
        src/sys/rump/librump/rumpkern: rump.c
        src/sys/rump/librump/rumpvfs: devnodes.c rump_vfs_private.h

Log Message:
Make the device node creation routines function pointers which default
to nullop without VFS.  This relaxes the dependency between VFS and many
components, some of which can be used perfectly fine without VFS.


To generate a diff of this commit:
cvs rdiff -u -r1.253 -r1.254 src/sys/rump/librump/rumpkern/rump.c
cvs rdiff -u -r1.7 -r1.8 src/sys/rump/librump/rumpvfs/devnodes.c
cvs rdiff -u -r1.16 -r1.17 src/sys/rump/librump/rumpvfs/rump_vfs_private.h

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.253 src/sys/rump/librump/rumpkern/rump.c:1.254
--- src/sys/rump/librump/rumpkern/rump.c:1.253	Thu Mar  7 18:33:27 2013
+++ src/sys/rump/librump/rumpkern/rump.c	Thu Mar  7 22:12:34 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump.c,v 1.253 2013/03/07 18:33:27 pooka Exp $	*/
+/*	$NetBSD: rump.c,v 1.254 2013/03/07 22:12:34 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.253 2013/03/07 18:33:27 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.254 2013/03/07 22:12:34 pooka Exp $");
 
 #include <sys/systm.h>
 #define ELFSIZE ARCH_ELFSIZE
@@ -128,6 +128,10 @@ static int rump_inited;
 
 void (*rump_vfs_drainbufs)(int);
 void (*rump_vfs_fini)(void);
+int  (*rump_vfs_makeonedevnode)(dev_t, const char *,
+				devmajor_t, devminor_t) = (void *)nullop;
+int  (*rump_vfs_makedevnodes)(dev_t, const char *, char,
+			      devmajor_t, devminor_t, int) = (void *)nullop;
 
 int rump__unavailable(void);
 int rump__unavailable() {return EOPNOTSUPP;}

Index: src/sys/rump/librump/rumpvfs/devnodes.c
diff -u src/sys/rump/librump/rumpvfs/devnodes.c:1.7 src/sys/rump/librump/rumpvfs/devnodes.c:1.8
--- src/sys/rump/librump/rumpvfs/devnodes.c:1.7	Fri Sep 21 16:38:54 2012
+++ src/sys/rump/librump/rumpvfs/devnodes.c	Thu Mar  7 22:12:34 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: devnodes.c,v 1.7 2012/09/21 16:38:54 joerg Exp $	*/
+/*	$NetBSD: devnodes.c,v 1.8 2013/03/07 22:12:34 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: devnodes.c,v 1.7 2012/09/21 16:38:54 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: devnodes.c,v 1.8 2013/03/07 22:12:34 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -40,8 +40,8 @@ __KERNEL_RCSID(0, "$NetBSD: devnodes.c,v
 #include "rump_vfs_private.h"
 
 /* realqvik(tm) "devfs" */
-int
-rump_vfs_makeonedevnode(dev_t devtype, const char *devname,
+static int
+makeonedevnode(dev_t devtype, const char *devname,
 	devmajor_t majnum, devminor_t minnum)
 {
 	register_t retval;
@@ -55,8 +55,8 @@ rump_vfs_makeonedevnode(dev_t devtype, c
 	return 0;
 }
 
-int
-rump_vfs_makedevnodes(dev_t devtype, const char *basename, char minchar,
+static int
+makedevnodes(dev_t devtype, const char *basename, char minchar,
 	devmajor_t maj, devminor_t minnum, int nnodes)
 {
 	int error = 0;
@@ -175,6 +175,9 @@ rump_vfs_builddevs(struct devsw_conv *dc
 	size_t i;
 	int v1, v2;
 
+	rump_vfs_makeonedevnode = makeonedevnode;
+	rump_vfs_makedevnodes = makedevnodes;
+
 	for (i = 0; i < dcvecsize; i++) {
 		dc = &dcvec[i];
 

Index: src/sys/rump/librump/rumpvfs/rump_vfs_private.h
diff -u src/sys/rump/librump/rumpvfs/rump_vfs_private.h:1.16 src/sys/rump/librump/rumpvfs/rump_vfs_private.h:1.17
--- src/sys/rump/librump/rumpvfs/rump_vfs_private.h:1.16	Mon Jan 14 16:45:47 2013
+++ src/sys/rump/librump/rumpvfs/rump_vfs_private.h	Thu Mar  7 22:12:34 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump_vfs_private.h,v 1.16 2013/01/14 16:45:47 pooka Exp $	*/
+/*	$NetBSD: rump_vfs_private.h,v 1.17 2013/03/07 22:12:34 pooka Exp $	*/
 
 /*
  * Copyright (c) 2008 Antti Kantee.  All Rights Reserved.
@@ -43,11 +43,12 @@ int	rumpblk_init(void);
 
 void	rump_biodone(void *, size_t, int);
 
-int     rump_vfs_makeonedevnode(dev_t, const char *, devmajor_t, devminor_t);
-int     rump_vfs_makedevnodes(dev_t, const char *, char,
-			      devmajor_t, devminor_t, int);
 void	rump_vfs_builddevs(struct devsw_conv *, size_t numelem);
 
+extern int	(*rump_vfs_makeonedevnode)(dev_t, const char *,
+					   devmajor_t, devminor_t);
+extern int	(*rump_vfs_makedevnodes)(dev_t, const char *, char,
+					 devmajor_t, devminor_t, int);
 extern void	(*rump_vfs_drainbufs)(int);
 extern void	(*rump_vfs_fini)(void);
 

Reply via email to