Module Name: src Committed By: pooka Date: Wed Oct 14 17:29:20 UTC 2009
Modified Files: src/sys/rump/fs/lib/libsyspuffs: Makefile puffs_rumpglue.c src/sys/rump/include/rump: Makefile rump.h src/sys/rump/librump/rumpkern: Makefile.rumpkern emul.c rump.c rump_private.h sysproxy_socket.c src/sys/rump/librump/rumpkern/arch/i386: rumpcpu.c src/sys/rump/librump/rumpnet: Makefile.rumpnet rump_net_private.h src/sys/rump/librump/rumpvfs: Makefile.rumpvfs compat.c rump_vfs.c rump_vfs_private.h rumpfs.c src/sys/rump/net/lib/libvirtif: if_virt.c src/sys/rump/net/rumptest: Makefile Log Message: Adjust rump sources for external/internal interfaces. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/rump/fs/lib/libsyspuffs/Makefile cvs rdiff -u -r1.9 -r1.10 src/sys/rump/fs/lib/libsyspuffs/puffs_rumpglue.c cvs rdiff -u -r1.1 -r1.2 src/sys/rump/include/rump/Makefile cvs rdiff -u -r1.30 -r1.31 src/sys/rump/include/rump/rump.h cvs rdiff -u -r1.50 -r1.51 src/sys/rump/librump/rumpkern/Makefile.rumpkern cvs rdiff -u -r1.98 -r1.99 src/sys/rump/librump/rumpkern/emul.c cvs rdiff -u -r1.121 -r1.122 src/sys/rump/librump/rumpkern/rump.c cvs rdiff -u -r1.28 -r1.29 src/sys/rump/librump/rumpkern/rump_private.h cvs rdiff -u -r1.2 -r1.3 src/sys/rump/librump/rumpkern/sysproxy_socket.c cvs rdiff -u -r1.3 -r1.4 src/sys/rump/librump/rumpkern/arch/i386/rumpcpu.c cvs rdiff -u -r1.7 -r1.8 src/sys/rump/librump/rumpnet/Makefile.rumpnet cvs rdiff -u -r1.3 -r1.4 src/sys/rump/librump/rumpnet/rump_net_private.h cvs rdiff -u -r1.16 -r1.17 src/sys/rump/librump/rumpvfs/Makefile.rumpvfs cvs rdiff -u -r1.3 -r1.4 src/sys/rump/librump/rumpvfs/compat.c cvs rdiff -u -r1.30 -r1.31 src/sys/rump/librump/rumpvfs/rump_vfs.c cvs rdiff -u -r1.6 -r1.7 src/sys/rump/librump/rumpvfs/rump_vfs_private.h cvs rdiff -u -r1.27 -r1.28 src/sys/rump/librump/rumpvfs/rumpfs.c cvs rdiff -u -r1.12 -r1.13 src/sys/rump/net/lib/libvirtif/if_virt.c cvs rdiff -u -r1.5 -r1.6 src/sys/rump/net/rumptest/Makefile 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/fs/lib/libsyspuffs/Makefile diff -u src/sys/rump/fs/lib/libsyspuffs/Makefile:1.3 src/sys/rump/fs/lib/libsyspuffs/Makefile:1.4 --- src/sys/rump/fs/lib/libsyspuffs/Makefile:1.3 Tue Jul 29 13:17:43 2008 +++ src/sys/rump/fs/lib/libsyspuffs/Makefile Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2008/07/29 13:17:43 pooka Exp $ +# $NetBSD: Makefile,v 1.4 2009/10/14 17:29:19 pooka Exp $ # .PATH: ${.CURDIR}/../../../../fs/puffs @@ -11,7 +11,7 @@ SRCS+= puffs_rumpglue.c -CPPFLAGS+= -DPUFFSDEBUG -DPUTTERDEBUG +CPPFLAGS+= -DPUFFSDEBUG -DPUTTERDEBUG -I${RUMPTOP}/librump/rumpvfs .include <bsd.lib.mk> .include <bsd.klinks.mk> Index: src/sys/rump/fs/lib/libsyspuffs/puffs_rumpglue.c diff -u src/sys/rump/fs/lib/libsyspuffs/puffs_rumpglue.c:1.9 src/sys/rump/fs/lib/libsyspuffs/puffs_rumpglue.c:1.10 --- src/sys/rump/fs/lib/libsyspuffs/puffs_rumpglue.c:1.9 Thu Jan 8 03:27:10 2009 +++ src/sys/rump/fs/lib/libsyspuffs/puffs_rumpglue.c Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: puffs_rumpglue.c,v 1.9 2009/01/08 03:27:10 pooka Exp $ */ +/* $NetBSD: puffs_rumpglue.c,v 1.10 2009/10/14 17:29:19 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: puffs_rumpglue.c,v 1.9 2009/01/08 03:27:10 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: puffs_rumpglue.c,v 1.10 2009/10/14 17:29:19 pooka Exp $"); #include <sys/param.h> #include <sys/conf.h> @@ -44,6 +44,8 @@ #include <rump/rump.h> #include <rump/rumpuser.h> +#include "rump_vfs_private.h" + void putterattach(void); /* XXX: from autoconf */ dev_type_open(puttercdopen); @@ -161,7 +163,7 @@ } int -rump_syspuffs_glueinit(int fd, int *newfd) +rumppriv_syspuffs_glueinit(int fd, int *newfd) { struct ptargs *pap; int rv; Index: src/sys/rump/include/rump/Makefile diff -u src/sys/rump/include/rump/Makefile:1.1 src/sys/rump/include/rump/Makefile:1.2 --- src/sys/rump/include/rump/Makefile:1.1 Mon Nov 17 08:54:39 2008 +++ src/sys/rump/include/rump/Makefile Wed Oct 14 17:29:19 2009 @@ -1,8 +1,10 @@ -# $NetBSD: Makefile,v 1.1 2008/11/17 08:54:39 pooka Exp $ +# $NetBSD: Makefile,v 1.2 2009/10/14 17:29:19 pooka Exp $ INCSDIR= /usr/include/rump INCS= rump.h rump_namei.h rump_syscalls.h rumpdefs.h rumpuser.h INCS+= rumpvnode_if.h +INCS+= rumpkern_if_pub.h rumpvfs_if_pub.h rumpnet_if_pub.h + .include <bsd.kinc.mk> Index: src/sys/rump/include/rump/rump.h diff -u src/sys/rump/include/rump/rump.h:1.30 src/sys/rump/include/rump/rump.h:1.31 --- src/sys/rump/include/rump/rump.h:1.30 Tue Oct 13 20:08:08 2009 +++ src/sys/rump/include/rump/rump.h Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rump.h,v 1.30 2009/10/13 20:08:08 pooka Exp $ */ +/* $NetBSD: rump.h,v 1.31 2009/10/14 17:29:19 pooka Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -62,108 +62,43 @@ #include <rump/rumpvnode_if.h> #include <rump/rumpdefs.h> -/* - * Something like rump capabilities would be nicer, but let's - * do this for a start. - */ -#define RUMP_VERSION 01 -#define rump_init() rump__init(RUMP_VERSION) -int rump_module_init(struct modinfo *, prop_dictionary_t props); -int rump_module_fini(struct modinfo *); - -int rump__init(int); -void rump_reboot(int); -int rump_getversion(void); - -struct componentname *rump_makecn(u_long, u_long, const char *, size_t, - kauth_cred_t, struct lwp *); -void rump_freecn(struct componentname *, int); -#define RUMPCN_FREECRED 0x02 -#define RUMPCN_FORCEFREE 0x04 -int rump_checksavecn(struct componentname *); -int rump_namei(uint32_t, uint32_t, const char *, - struct vnode **, struct vnode **, - struct componentname **); - -void rump_getvninfo(struct vnode *, enum vtype *, off_t * /*XXX*/, dev_t *); - -enum rump_etfs_type { RUMP_ETFS_REG, RUMP_ETFS_BLK, RUMP_ETFS_CHR }; -#define RUMP_ETFS_SIZE_ENDOFF ((uint64_t)-1) -int rump_etfs_register(const char *, const char *, enum rump_etfs_type); -int rump_etfs_register_withsize(const char *, const char *, - enum rump_etfs_type, uint64_t, uint64_t); -int rump_etfs_remove(const char *); - -struct vfsops *rump_vfslist_iterate(struct vfsops *); -struct vfsops *rump_vfs_getopsbyname(const char *); - -struct vattr *rump_vattr_init(void); -void rump_vattr_settype(struct vattr *, enum vtype); -void rump_vattr_setmode(struct vattr *, mode_t); -void rump_vattr_setrdev(struct vattr *, dev_t); -void rump_vattr_free(struct vattr *); - -void rump_vp_incref(struct vnode *); -int rump_vp_getref(struct vnode *); -void rump_vp_rele(struct vnode *); - +/* rumpkern */ enum rump_uiorw { RUMPUIO_READ, RUMPUIO_WRITE }; -struct uio *rump_uio_setup(void *, size_t, off_t, enum rump_uiorw); -size_t rump_uio_getresid(struct uio *); -off_t rump_uio_getoff(struct uio *); -size_t rump_uio_free(struct uio *); - -void rump_vp_interlock(struct vnode *); - -kauth_cred_t rump_cred_create(uid_t, gid_t, size_t, gid_t *); -kauth_cred_t rump_cred_suserget(void); -void rump_cred_put(kauth_cred_t); - +typedef int (*rump_sysproxy_t)(int, void *, uint8_t *, size_t, register_t *); #define rump_cred_suserput(c) rump_cred_put(c) /* COMPAT_NETHACK */ #define WizardMode() rump_cred_suserget() #define YASD(cred) rump_cred_suserput(cred) -int rump_vfs_unmount(struct mount *, int); -int rump_vfs_root(struct mount *, struct vnode **, int); -int rump_vfs_statvfs(struct mount *, struct statvfs *); -int rump_vfs_sync(struct mount *, int, kauth_cred_t); -int rump_vfs_fhtovp(struct mount *, struct fid *, struct vnode **); -int rump_vfs_vptofh(struct vnode *, struct fid *, size_t *); -void rump_vfs_syncwait(struct mount *); -int rump_vfs_getmp(const char *, struct mount **); - -struct lwp *rump_newproc_switch(void); -struct lwp *rump_setup_curlwp(pid_t, lwpid_t, int); -struct lwp *rump_get_curlwp(void); -void rump_set_curlwp(struct lwp *); -void rump_clear_curlwp(void); - -void rump_rcvp_set(struct vnode *, struct vnode *); -struct vnode *rump_cdir_get(void); +/* rumpvfs */ +#define RUMPCN_FREECRED 0x02 +#define RUMPCN_FORCEFREE 0x04 +#define RUMP_ETFS_SIZE_ENDOFF ((uint64_t)-1) +enum rump_etfs_type { RUMP_ETFS_REG, RUMP_ETFS_BLK, RUMP_ETFS_CHR }; -/* I picked the wrong header to stop sniffin' glue */ -int rump_syspuffs_glueinit(int, int *); +/* + * Something like rump capabilities would be nicer, but let's + * do this for a start. + */ +#define RUMP_VERSION 01 +#define rump_init() rump__init(RUMP_VERSION) -int rump_virtif_create(int); +/* um, what's the point ?-) */ +#ifdef _BEGIN_DECLS +_BEGIN_DECLS +#endif -typedef int (*rump_sysproxy_t)(int, void *, uint8_t *, size_t, register_t *); -int rump_sysproxy_set(rump_sysproxy_t, void *); -int rump_sysproxy_socket_setup_client(int); -int rump_sysproxy_socket_setup_server(int); +int rump__init(int); -/* - * compat syscalls. these are currently hand-"generated" - */ -int rump_sys___stat30(const char *, struct stat *); -int rump_sys___lstat30(const char *, struct stat *); +#ifndef _RUMPKERNEL +#include <rump/rumpkern_if_pub.h> +#include <rump/rumpvfs_if_pub.h> +#include <rump/rumpnet_if_pub.h> +#endif -/* - * Other compat glue (for sniffing purposes) - * XXX: (lack of) types - */ -void rump_vattr50_to_vattr(const struct vattr *, struct vattr *); -void rump_vattr_to_vattr50(const struct vattr *, struct vattr *); +#ifdef _END_DECLS +_END_DECLS +#endif /* * Begin rump syscall conditionals. Yes, something a little better Index: src/sys/rump/librump/rumpkern/Makefile.rumpkern diff -u src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.50 src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.51 --- src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.50 Fri Oct 2 18:50:15 2009 +++ src/sys/rump/librump/rumpkern/Makefile.rumpkern Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.rumpkern,v 1.50 2009/10/02 18:50:15 elad Exp $ +# $NetBSD: Makefile.rumpkern,v 1.51 2009/10/14 17:29:19 pooka Exp $ # .include "${RUMPTOP}/Makefile.rump" @@ -17,6 +17,8 @@ SRCS= rump.c emul.c intr.c locks.c ltsleep.c percpu.c pool.c \ sleepq.c sysproxy_socket.c vm.c +SRCS+= rumpkern_if_wrappers.c + # stubs # SRCS+= misc_stub.c pmap_stub.c Index: src/sys/rump/librump/rumpkern/emul.c diff -u src/sys/rump/librump/rumpkern/emul.c:1.98 src/sys/rump/librump/rumpkern/emul.c:1.99 --- src/sys/rump/librump/rumpkern/emul.c:1.98 Fri Oct 9 14:41:36 2009 +++ src/sys/rump/librump/rumpkern/emul.c Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: emul.c,v 1.98 2009/10/09 14:41:36 pooka Exp $ */ +/* $NetBSD: emul.c,v 1.99 2009/10/14 17:29:19 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.98 2009/10/09 14:41:36 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: emul.c,v 1.99 2009/10/14 17:29:19 pooka Exp $"); #include <sys/param.h> #include <sys/malloc.h> @@ -439,7 +439,7 @@ k = kmem_alloc(sizeof(struct kthdesc), KM_SLEEP); k->f = func; k->arg = arg; - k->mylwp = l = rump_setup_curlwp(0, rump_nextlid(), 0); + k->mylwp = l = rumppriv_setup_curlwp(0, rump_nextlid(), 0); if (flags & KTHREAD_MPSAFE) l->l_pflag |= LP_MPSAFE; rv = rumpuser_thread_create(threadbouncer, k, thrname); @@ -457,7 +457,7 @@ if ((curlwp->l_pflag & LP_MPSAFE) == 0) KERNEL_UNLOCK_ONE(NULL); - rump_clear_curlwp(); + rumppriv_clear_curlwp(); rumpuser_thread_exit(); } @@ -731,7 +731,7 @@ cpu_reboot(int howto, char *bootstr) { - rump_reboot(howto); + rumppriv_reboot(howto); /* this function is __dead, we must exit */ rumpuser_exit(0); Index: src/sys/rump/librump/rumpkern/rump.c diff -u src/sys/rump/librump/rumpkern/rump.c:1.121 src/sys/rump/librump/rumpkern/rump.c:1.122 --- src/sys/rump/librump/rumpkern/rump.c:1.121 Fri Oct 9 14:41:36 2009 +++ src/sys/rump/librump/rumpkern/rump.c Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rump.c,v 1.121 2009/10/09 14:41:36 pooka Exp $ */ +/* $NetBSD: rump.c,v 1.122 2009/10/14 17:29:19 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.121 2009/10/09 14:41:36 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.122 2009/10/14 17:29:19 pooka Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -226,7 +226,7 @@ loginit(); kauth_init(); - rump_susercred = rump_cred_create(0, 0, 0, NULL); + rump_susercred = rumppriv_cred_create(0, 0, 0, NULL); l = &lwp0; p = &proc0; @@ -238,7 +238,7 @@ p->p_vmspace = &rump_vmspace; p->p_emul = &emul_rump; p->p_lock = mutex_obj_alloc(MUTEX_DEFAULT, IPL_NONE); - l->l_cred = rump_cred_suserget(); + l->l_cred = rumppriv_cred_suserget(); l->l_proc = p; l->l_lid = 1; l->l_cpu = &rump_cpu; @@ -297,7 +297,7 @@ /* maybe support sys_reboot some day for remote shutdown */ void -rump_reboot(int howto) +rumppriv_reboot(int howto) { /* dump means we really take the dive here */ @@ -324,7 +324,7 @@ } struct uio * -rump_uio_setup(void *buf, size_t bufsize, off_t offset, enum rump_uiorw rw) +rumppriv_uio_setup(void *buf, size_t bufsize, off_t offset, enum rump_uiorw rw) { struct uio *uio; enum uio_rw uiorw; @@ -356,21 +356,21 @@ } size_t -rump_uio_getresid(struct uio *uio) +rumppriv_uio_getresid(struct uio *uio) { return uio->uio_resid; } off_t -rump_uio_getoff(struct uio *uio) +rumppriv_uio_getoff(struct uio *uio) { return uio->uio_offset; } size_t -rump_uio_free(struct uio *uio) +rumppriv_uio_free(struct uio *uio) { size_t resid; @@ -384,7 +384,7 @@ /* public interface */ static pid_t nextpid = 1; struct lwp * -rump_newproc_switch() +rumppriv_newproc_switch() { struct lwp *oldlwp = curlwp; pid_t mypid; @@ -394,14 +394,14 @@ mypid = atomic_inc_uint_nv(&nextpid); rumpuser_set_curlwp(NULL); - rump_setup_curlwp(mypid, 0, 1); + rumppriv_setup_curlwp(mypid, 0, 1); return oldlwp; } /* rump private */ struct lwp * -rump_setup_curlwp(pid_t pid, lwpid_t lid, int set) +rumppriv_setup_curlwp(pid_t pid, lwpid_t lid, int set) { struct lwp *l; struct proc *p; @@ -420,7 +420,7 @@ p = &proc0; } - l->l_cred = rump_cred_suserget(); + l->l_cred = rumppriv_cred_suserget(); l->l_proc = p; l->l_lid = lid; l->l_fd = p->p_fd; @@ -443,7 +443,7 @@ } void -rump_clear_curlwp(void) +rumppriv_clear_curlwp(void) { struct lwp *l; struct proc *p; @@ -454,7 +454,7 @@ mutex_obj_free(p->p_lock); fd_free(); rump_proc_vfs_release(p); - rump_cred_put(l->l_cred); + rumppriv_cred_put(l->l_cred); kmem_free(p, sizeof(*p)); } kmem_free(l, sizeof(*l)); @@ -462,7 +462,7 @@ } struct lwp * -rump_get_curlwp(void) +rumppriv_get_curlwp(void) { struct lwp *l; @@ -474,7 +474,7 @@ } void -rump_set_curlwp(struct lwp *l) +rumppriv_set_curlwp(struct lwp *l) { /* clear current */ @@ -484,7 +484,7 @@ } kauth_cred_t -rump_cred_create(uid_t uid, gid_t gid, size_t ngroups, gid_t *groups) +rumppriv_cred_create(uid_t uid, gid_t gid, size_t ngroups, gid_t *groups) { kauth_cred_t cred; int rv; @@ -505,14 +505,14 @@ } void -rump_cred_put(kauth_cred_t cred) +rumppriv_cred_put(kauth_cred_t cred) { kauth_cred_free(cred); } kauth_cred_t -rump_cred_suserget(void) +rumppriv_cred_suserget(void) { kauth_cred_hold(rump_susercred); @@ -542,7 +542,7 @@ } int -rump_module_init(struct modinfo *mi, prop_dictionary_t props) +rumppriv_module_init(struct modinfo *mi, prop_dictionary_t props) { int rv; @@ -557,7 +557,7 @@ } int -rump_module_fini(struct modinfo *mi) +rumppriv_module_fini(struct modinfo *mi) { int rv; @@ -568,17 +568,8 @@ return rv; } -int _syspuffs_stub(int, int *); -int -_syspuffs_stub(int fd, int *newfd) -{ - - return ENODEV; -} -__weak_alias(rump_syspuffs_glueinit,_syspuffs_stub); - static int -rump_sysproxy_local(int num, void *arg, uint8_t *data, size_t dlen, +rumppriv_sysproxy_local(int num, void *arg, uint8_t *data, size_t dlen, register_t *retval) { struct lwp *l; @@ -592,7 +583,7 @@ return callp->sy_call(l, (void *)data, retval); } -rump_sysproxy_t rump_sysproxy = rump_sysproxy_local; +rump_sysproxy_t rump_sysproxy = rumppriv_sysproxy_local; void *rump_sysproxy_arg; /* @@ -602,7 +593,7 @@ * set in stone. */ int -rump_sysproxy_set(rump_sysproxy_t proxy, void *arg) +rumppriv_sysproxy_set(rump_sysproxy_t proxy, void *arg) { if (rump_sysproxy_arg) @@ -615,7 +606,7 @@ } int -rump_getversion() +rumppriv_getversion() { return __NetBSD_Version__; Index: src/sys/rump/librump/rumpkern/rump_private.h diff -u src/sys/rump/librump/rumpkern/rump_private.h:1.28 src/sys/rump/librump/rumpkern/rump_private.h:1.29 --- src/sys/rump/librump/rumpkern/rump_private.h:1.28 Wed Apr 29 17:51:47 2009 +++ src/sys/rump/librump/rumpkern/rump_private.h Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rump_private.h,v 1.28 2009/04/29 17:51:47 pooka Exp $ */ +/* $NetBSD: rump_private.h,v 1.29 2009/10/14 17:29:19 pooka Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -44,6 +44,30 @@ #include <rump/rump.h> #include <rump/rumpuser.h> +#include "rumpkern_if_priv.h" + +/* + * Public interface implementation: create a function which calls + * the scheduler and then the private interface. + */ +#define RUMP_PUB_INTERFACE_VOIDARG(type, name, dummy) \ +type rump_ ## name (void); \ +type rump_ ## name (void) \ +{ \ + type rv; \ + rv = rumpint_ ## name(); \ + return rv; \ +} \ +type rumpint_ ## name(void) + +#define RUMP_PUB_INTERFACE_VOIDTYPE(dummy, name, args) \ +void rump_ ## name args; \ +void rump_ ## name args \ +{ \ + rumpint_ ## name args; \ +} \ +type rumpint_ ## name(void) + extern kauth_cred_t rump_cred; extern struct vmspace rump_vmspace; Index: src/sys/rump/librump/rumpkern/sysproxy_socket.c diff -u src/sys/rump/librump/rumpkern/sysproxy_socket.c:1.2 src/sys/rump/librump/rumpkern/sysproxy_socket.c:1.3 --- src/sys/rump/librump/rumpkern/sysproxy_socket.c:1.2 Thu Apr 30 15:30:55 2009 +++ src/sys/rump/librump/rumpkern/sysproxy_socket.c Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: sysproxy_socket.c,v 1.2 2009/04/30 15:30:55 skrll Exp $ */ +/* $NetBSD: sysproxy_socket.c,v 1.3 2009/10/14 17:29:19 pooka Exp $ */ /* * Copyright (c) 2009 Antti Kantee. All Rights Reserved. @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sysproxy_socket.c,v 1.2 2009/04/30 15:30:55 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sysproxy_socket.c,v 1.3 2009/10/14 17:29:19 pooka Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -386,14 +386,14 @@ } callp = rump_sysent + req->rpc_sysnum; - mylwp = rump_newproc_switch(); + mylwp = rumppriv_newproc_switch(); rump_set_vmspace(&rump_sysproxy_vmspace); l = curlwp; resp.rpc_retval = 0; /* default */ resp.rpc_error = callp->sy_call(l, (void *)req->rpc_data, &resp.rpc_retval); - rump_clear_curlwp(); + rumppriv_clear_curlwp(); rumpuser_set_curlwp(mylwp); kmem_free(req, req->rpc_head.rpch_flen); @@ -575,7 +575,7 @@ } int -rump_sysproxy_socket_setup_client(int s) +rumppriv_sysproxy_socket_setup_client(int s) { int error; @@ -587,7 +587,8 @@ mutex_init(&wrkmtx, MUTEX_DEFAULT, IPL_NONE); mutex_init(&sendmtx, MUTEX_DEFAULT, IPL_NONE); mutex_init(&recvmtx, MUTEX_DEFAULT, IPL_NONE); - error = rump_sysproxy_set(rump_sysproxy_socket, (void *)(uintptr_t)s); + error = rumppriv_sysproxy_set(rump_sysproxy_socket, + (void *)(uintptr_t)s); /* XXX: handle */ sock = s; @@ -596,7 +597,7 @@ } int -rump_sysproxy_socket_setup_server(int s) +rumppriv_sysproxy_socket_setup_server(int s) { int error; Index: src/sys/rump/librump/rumpkern/arch/i386/rumpcpu.c diff -u src/sys/rump/librump/rumpkern/arch/i386/rumpcpu.c:1.3 src/sys/rump/librump/rumpkern/arch/i386/rumpcpu.c:1.4 --- src/sys/rump/librump/rumpkern/arch/i386/rumpcpu.c:1.3 Wed Mar 18 10:22:45 2009 +++ src/sys/rump/librump/rumpkern/arch/i386/rumpcpu.c Wed Oct 14 17:29:19 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpcpu.c,v 1.3 2009/03/18 10:22:45 cegger Exp $ */ +/* $NetBSD: rumpcpu.c,v 1.4 2009/10/14 17:29:19 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rumpcpu.c,v 1.3 2009/03/18 10:22:45 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rumpcpu.c,v 1.4 2009/10/14 17:29:19 pooka Exp $"); #include <sys/param.h> @@ -50,7 +50,7 @@ x86_curlwp() { - return rump_get_curlwp(); + return rumppriv_get_curlwp(); } void Index: src/sys/rump/librump/rumpnet/Makefile.rumpnet diff -u src/sys/rump/librump/rumpnet/Makefile.rumpnet:1.7 src/sys/rump/librump/rumpnet/Makefile.rumpnet:1.8 --- src/sys/rump/librump/rumpnet/Makefile.rumpnet:1.7 Sun Sep 6 20:02:49 2009 +++ src/sys/rump/librump/rumpnet/Makefile.rumpnet Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.rumpnet,v 1.7 2009/09/06 20:02:49 pooka Exp $ +# $NetBSD: Makefile.rumpnet,v 1.8 2009/10/14 17:29:20 pooka Exp $ # .include "${RUMPTOP}/Makefile.rump" @@ -12,6 +12,8 @@ SRCS= net_stub.c netisr.c rump_net.c net_emul.c +SRCS+= rumpnet_if_wrappers.c + # sys/kern networking (sockets, mbufs, etc.) SRCS+= sys_socket.c uipc_accf.c uipc_domain.c uipc_mbuf.c uipc_mbuf2.c \ uipc_socket.c uipc_socket2.c uipc_syscalls.c Index: src/sys/rump/librump/rumpnet/rump_net_private.h diff -u src/sys/rump/librump/rumpnet/rump_net_private.h:1.3 src/sys/rump/librump/rumpnet/rump_net_private.h:1.4 --- src/sys/rump/librump/rumpnet/rump_net_private.h:1.3 Thu May 28 00:02:16 2009 +++ src/sys/rump/librump/rumpnet/rump_net_private.h Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rump_net_private.h,v 1.3 2009/05/28 00:02:16 pooka Exp $ */ +/* $NetBSD: rump_net_private.h,v 1.4 2009/10/14 17:29:20 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -46,4 +46,6 @@ void rump_dummyif_create(void); +#include "rumpnet_if_priv.h" + #endif /* _SYS_RUMP_NET_PRIVATE_H_ */ Index: src/sys/rump/librump/rumpvfs/Makefile.rumpvfs diff -u src/sys/rump/librump/rumpvfs/Makefile.rumpvfs:1.16 src/sys/rump/librump/rumpvfs/Makefile.rumpvfs:1.17 --- src/sys/rump/librump/rumpvfs/Makefile.rumpvfs:1.16 Wed Oct 7 10:23:50 2009 +++ src/sys/rump/librump/rumpvfs/Makefile.rumpvfs Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.rumpvfs,v 1.16 2009/10/07 10:23:50 pooka Exp $ +# $NetBSD: Makefile.rumpvfs,v 1.17 2009/10/14 17:29:20 pooka Exp $ # .include "${RUMPTOP}/Makefile.rump" @@ -19,6 +19,8 @@ SRCS+= fstrans_stub.c vfsops_stub.c +SRCS+= rumpvfs_if_wrappers.c + # sys/kern I/O SRCS+= kern_physio.c Index: src/sys/rump/librump/rumpvfs/compat.c diff -u src/sys/rump/librump/rumpvfs/compat.c:1.3 src/sys/rump/librump/rumpvfs/compat.c:1.4 --- src/sys/rump/librump/rumpvfs/compat.c:1.3 Sun May 24 20:10:50 2009 +++ src/sys/rump/librump/rumpvfs/compat.c Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.3 2009/05/24 20:10:50 mlelstv Exp $ */ +/* $NetBSD: compat.c,v 1.4 2009/10/14 17:29:20 pooka Exp $ */ /* * Copyright (c) 2009 Antti Kantee. All Rights Reserved. @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: compat.c,v 1.3 2009/05/24 20:10:50 mlelstv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: compat.c,v 1.4 2009/10/14 17:29:20 pooka Exp $"); #include <sys/param.h> #include <sys/kmem.h> @@ -41,6 +41,8 @@ #include <rump/rump.h> #include <rump/rumpuser.h> +#include "rump_vfs_private.h" + /* * XXX: these are handwritten for now. They provide compat for * calling post-time_t file systems from a pre-time_t userland. @@ -78,7 +80,7 @@ }; int -rump_sys___stat30(const char *path, struct stat *sb) +rumppriv_sys___stat30(const char *path, struct stat *sb) { struct compat_50_sys___stat30_args args; register_t retval = 0; @@ -96,7 +98,7 @@ } int -rump_sys___lstat30(const char *path, struct stat *sb) +rumppriv_sys___lstat30(const char *path, struct stat *sb) { struct compat_50_sys___lstat30_args args; register_t retval = 0; @@ -118,7 +120,7 @@ * the userspace namespace too */ void -rump_vattr50_to_vattr(const struct vattr *_va50, struct vattr *va) +rumppriv_vattr50_to_vattr(const struct vattr *_va50, struct vattr *va) { const struct vattr50 *va50 = (const struct vattr50 *)_va50; @@ -144,7 +146,7 @@ } void -rump_vattr_to_vattr50(const struct vattr *va, struct vattr *_va50) +rumppriv_vattr_to_vattr50(const struct vattr *va, struct vattr *_va50) { struct vattr50 *va50 = (struct vattr50 *)_va50; Index: src/sys/rump/librump/rumpvfs/rump_vfs.c diff -u src/sys/rump/librump/rumpvfs/rump_vfs.c:1.30 src/sys/rump/librump/rumpvfs/rump_vfs.c:1.31 --- src/sys/rump/librump/rumpvfs/rump_vfs.c:1.30 Fri Oct 9 14:41:36 2009 +++ src/sys/rump/librump/rumpvfs/rump_vfs.c Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rump_vfs.c,v 1.30 2009/10/09 14:41:36 pooka Exp $ */ +/* $NetBSD: rump_vfs.c,v 1.31 2009/10/14 17:29:20 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rump_vfs.c,v 1.30 2009/10/09 14:41:36 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rump_vfs.c,v 1.31 2009/10/14 17:29:20 pooka Exp $"); #include <sys/param.h> #include <sys/buf.h> @@ -128,7 +128,7 @@ } struct componentname * -rump_makecn(u_long nameiop, u_long flags, const char *name, size_t namelen, +rumppriv_makecn(u_long nameiop, u_long flags, const char *name, size_t namelen, kauth_cred_t creds, struct lwp *l) { struct componentname *cnp; @@ -151,11 +151,11 @@ } void -rump_freecn(struct componentname *cnp, int flags) +rumppriv_freecn(struct componentname *cnp, int flags) { if (flags & RUMPCN_FREECRED) - rump_cred_put(cnp->cn_cred); + rumppriv_cred_put(cnp->cn_cred); if ((cnp->cn_flags & SAVENAME) == 0 || flags & RUMPCN_FORCEFREE) PNBUF_PUT(cnp->cn_pnbuf); @@ -163,7 +163,7 @@ } int -rump_checksavecn(struct componentname *cnp) +rumppriv_checksavecn(struct componentname *cnp) { if ((cnp->cn_flags & (SAVENAME | SAVESTART)) == 0) { @@ -176,7 +176,7 @@ /* hey baby, what's your namei? */ int -rump_namei(uint32_t op, uint32_t flags, const char *namep, +rumppriv_namei(uint32_t op, uint32_t flags, const char *namep, struct vnode **dvpp, struct vnode **vpp, struct componentname **cnpp) { struct nameidata nd; @@ -219,7 +219,8 @@ } void -rump_getvninfo(struct vnode *vp, enum vtype *vtype, voff_t *vsize, dev_t *vdev) +rumppriv_getvninfo(struct vnode *vp, enum vtype *vtype, + voff_t *vsize, dev_t *vdev) { *vtype = vp->v_type; @@ -231,7 +232,7 @@ } struct vfsops * -rump_vfslist_iterate(struct vfsops *ops) +rumppriv_vfslist_iterate(struct vfsops *ops) { if (ops == NULL) @@ -241,14 +242,14 @@ } struct vfsops * -rump_vfs_getopsbyname(const char *name) +rumppriv_vfs_getopsbyname(const char *name) { return vfs_getopsbyname(name); } int -rump_vfs_getmp(const char *path, struct mount **mpp) +rumppriv_vfs_getmp(const char *path, struct mount **mpp) { struct vnode *vp; int rv; @@ -262,7 +263,7 @@ } struct vattr* -rump_vattr_init(void) +rumppriv_vattr_init(void) { struct vattr *vap; @@ -273,63 +274,63 @@ } void -rump_vattr_settype(struct vattr *vap, enum vtype vt) +rumppriv_vattr_settype(struct vattr *vap, enum vtype vt) { vap->va_type = vt; } void -rump_vattr_setmode(struct vattr *vap, mode_t mode) +rumppriv_vattr_setmode(struct vattr *vap, mode_t mode) { vap->va_mode = mode; } void -rump_vattr_setrdev(struct vattr *vap, dev_t dev) +rumppriv_vattr_setrdev(struct vattr *vap, dev_t dev) { vap->va_rdev = dev; } void -rump_vattr_free(struct vattr *vap) +rumppriv_vattr_free(struct vattr *vap) { kmem_free(vap, sizeof(*vap)); } void -rump_vp_incref(struct vnode *vp) +rumppriv_vp_incref(struct vnode *vp) { vref(vp); } int -rump_vp_getref(struct vnode *vp) +rumppriv_vp_getref(struct vnode *vp) { return vp->v_usecount; } void -rump_vp_rele(struct vnode *vp) +rumppriv_vp_rele(struct vnode *vp) { vrele(vp); } void -rump_vp_interlock(struct vnode *vp) +rumppriv_vp_interlock(struct vnode *vp) { mutex_enter(&vp->v_interlock); } int -rump_vfs_unmount(struct mount *mp, int mntflags) +rumppriv_vfs_unmount(struct mount *mp, int mntflags) { #if 0 struct evcnt *ev; @@ -343,7 +344,7 @@ } int -rump_vfs_root(struct mount *mp, struct vnode **vpp, int lock) +rumppriv_vfs_root(struct mount *mp, struct vnode **vpp, int lock) { int rv; @@ -358,28 +359,28 @@ } int -rump_vfs_statvfs(struct mount *mp, struct statvfs *sbp) +rumppriv_vfs_statvfs(struct mount *mp, struct statvfs *sbp) { return VFS_STATVFS(mp, sbp); } int -rump_vfs_sync(struct mount *mp, int wait, kauth_cred_t cred) +rumppriv_vfs_sync(struct mount *mp, int wait, kauth_cred_t cred) { return VFS_SYNC(mp, wait ? MNT_WAIT : MNT_NOWAIT, cred); } int -rump_vfs_fhtovp(struct mount *mp, struct fid *fid, struct vnode **vpp) +rumppriv_vfs_fhtovp(struct mount *mp, struct fid *fid, struct vnode **vpp) { return VFS_FHTOVP(mp, fid, vpp); } int -rump_vfs_vptofh(struct vnode *vp, struct fid *fid, size_t *fidsize) +rumppriv_vfs_vptofh(struct vnode *vp, struct fid *fid, size_t *fidsize) { return VFS_VPTOFH(vp, fid, fidsize); @@ -387,7 +388,7 @@ /*ARGSUSED*/ void -rump_vfs_syncwait(struct mount *mp) +rumppriv_vfs_syncwait(struct mount *mp) { int n; @@ -429,14 +430,14 @@ } void -rump_rcvp_set(struct vnode *rvp, struct vnode *cvp) +rumppriv_rcvp_set(struct vnode *rvp, struct vnode *cvp) { rump_rcvp_lwpset(rvp, cvp, curlwp); } struct vnode * -rump_cdir_get(void) +rumppriv_cdir_get(void) { struct vnode *vp; struct cwdinfo *cwdi = curlwp->l_proc->p_cwdi; Index: src/sys/rump/librump/rumpvfs/rump_vfs_private.h diff -u src/sys/rump/librump/rumpvfs/rump_vfs_private.h:1.6 src/sys/rump/librump/rumpvfs/rump_vfs_private.h:1.7 --- src/sys/rump/librump/rumpvfs/rump_vfs_private.h:1.6 Fri Oct 9 14:41:36 2009 +++ src/sys/rump/librump/rumpvfs/rump_vfs_private.h Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rump_vfs_private.h,v 1.6 2009/10/09 14:41:36 pooka Exp $ */ +/* $NetBSD: rump_vfs_private.h,v 1.7 2009/10/14 17:29:20 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -45,4 +45,10 @@ int rump_vfs_makedevnodes(dev_t, const char *, char, devmajor_t, devminor_t, int); +#include <sys/mount.h> +#include <sys/vnode.h> +#include <rump/rump.h> + +#include "rumpvfs_if_priv.h" + #endif /* _SYS_RUMP_VFS_PRIVATE_H_ */ Index: src/sys/rump/librump/rumpvfs/rumpfs.c diff -u src/sys/rump/librump/rumpvfs/rumpfs.c:1.27 src/sys/rump/librump/rumpvfs/rumpfs.c:1.28 --- src/sys/rump/librump/rumpvfs/rumpfs.c:1.27 Sun Oct 11 18:12:51 2009 +++ src/sys/rump/librump/rumpvfs/rumpfs.c Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpfs.c,v 1.27 2009/10/11 18:12:51 pooka Exp $ */ +/* $NetBSD: rumpfs.c,v 1.28 2009/10/14 17:29:20 pooka Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1.27 2009/10/11 18:12:51 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1.28 2009/10/14 17:29:20 pooka Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -259,7 +259,7 @@ } int -rump_etfs_register(const char *key, const char *hostpath, +rumppriv_etfs_register(const char *key, const char *hostpath, enum rump_etfs_type ftype) { @@ -267,7 +267,7 @@ } int -rump_etfs_register_withsize(const char *key, const char *hostpath, +rumppriv_etfs_register_withsize(const char *key, const char *hostpath, enum rump_etfs_type ftype, uint64_t begin, uint64_t size) { @@ -286,7 +286,7 @@ } int -rump_etfs_remove(const char *key) +rumppriv_etfs_remove(const char *key) { struct etfs *et; size_t keylen = strlen(key); Index: src/sys/rump/net/lib/libvirtif/if_virt.c diff -u src/sys/rump/net/lib/libvirtif/if_virt.c:1.12 src/sys/rump/net/lib/libvirtif/if_virt.c:1.13 --- src/sys/rump/net/lib/libvirtif/if_virt.c:1.12 Mon Oct 12 02:25:44 2009 +++ src/sys/rump/net/lib/libvirtif/if_virt.c Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: if_virt.c,v 1.12 2009/10/12 02:25:44 pooka Exp $ */ +/* $NetBSD: if_virt.c,v 1.13 2009/10/14 17:29:20 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_virt.c,v 1.12 2009/10/12 02:25:44 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_virt.c,v 1.13 2009/10/14 17:29:20 pooka Exp $"); #include <sys/param.h> #include <sys/condvar.h> @@ -98,7 +98,7 @@ #endif int -rump_virtif_create(int num) +rumppriv_virtif_create(int num) { struct virtif_sc *sc; struct ifnet *ifp; Index: src/sys/rump/net/rumptest/Makefile diff -u src/sys/rump/net/rumptest/Makefile:1.5 src/sys/rump/net/rumptest/Makefile:1.6 --- src/sys/rump/net/rumptest/Makefile:1.5 Tue Jan 13 18:51:41 2009 +++ src/sys/rump/net/rumptest/Makefile Wed Oct 14 17:29:20 2009 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.5 2009/01/13 18:51:41 pooka Exp $ +# $NetBSD: Makefile,v 1.6 2009/10/14 17:29:20 pooka Exp $ # PROG= rumptest_net @@ -13,4 +13,6 @@ # use protocol families provided by host kernel sockets #LDADD= -lrump -lrumpnet -lrumpnet_sockin -lrumpuser -lpthread +LDADD+= -lrumpvfs + .include <bsd.prog.mk>