NetBSD/sys/rump
pooka 9bd36d4186 tmpfs has two layers of uvm objects (vnode->uobj and the anon object
in tmpfs_node), so when playing with pages make sure we lock the
uvm object the pages belong to instead of the vnode's uvm object.

per test from Nicolas Joly (which I'm sure he will commit soon ;)
2011-02-27 13:37:39 +00:00
..
dev Use AUDIO_DEVICE instead of 0 as the minor number for /dev/audio since 2011-02-25 19:27:05 +00:00
fs no longer used 2011-01-21 13:11:32 +00:00
include omstart 2011-02-22 14:09:35 +00:00
kern Add support for compiling ZFS and Solaris modules as RUMP libraries. Add 2011-01-18 22:21:22 +00:00
librump tmpfs has two layers of uvm objects (vnode->uobj and the anon object 2011-02-27 13:37:39 +00:00
net attach the compat_50_routedomain to make it actually work 2011-02-04 09:57:53 +00:00
ldscript.rump Introduce RUMP_COMPONENT. It behaves mostly like a simplified 2010-03-01 13:12:19 +00:00
Makefile Add infrastructure for kern compnents. This is meant for those 2010-06-10 21:56:42 +00:00
Makefile.rump Define COMPAT_50 to be 1 just like config(8) would be opt_compat_netbsd.h 2011-02-01 01:15:51 +00:00
README.dirs update slightly 2010-05-11 11:58:14 +00:00
TODO update todo from my private collection (which is now empty) 2011-02-01 15:26:46 +00:00

	$NetBSD: README.dirs,v 1.11 2010/05/11 11:58:14 pooka Exp $


The following is a quick rundown of the current directory structure.
First, components in the kernel namespace, i.e. compiled with -D_KERNEL

sys/rump/librump - kernel runtime emulation
  /rumpkern	- kernel core, e.g. syscall, interrupt and lock support

  /rumpcrypto	- kernel cryptographic routines
  /rumpdev	- device support, e.g. autoconf subsystem
  /rumpnet	- networking support and sockets layer
  /rumpvfs	- file system support

sys/rump/include
  /machine - used for architectures where the rump ABI is not yet the
	     same as the kernel module ABI.  will eventually disappear
	     completely
  /rump    - rump headers installed to userspace

sys/rump/dev - device components, e.g. audio, raidframe, usb drivers

sys/rump/fs - file system components
  /lib/lib${fs}  - kernel file system code

sys/rump/net - networking components
  /lib/libnet	  - subroutines from sys/net, e.g. route and if_ethersubr
  /lib/libnetinet - TCP/IP
  /lib/libvirtif  - a virtual interface which uses host tap(4) to shovel
		    packets.  This is used by netinet and if_ethersubr.
  /lib/libsockin  - implements PF_INET using host kernel sockets.  This is
		    mutually exclusive with net, netinet and virtif.



The rest are out-of-kernel components (i.e. no -D_KERNEL)
related to rump.

hypercall interface:
src/lib/librumpuser
  The "rumpuser" set of interfaces is used by rump to communicate
  with the host.

Users:
src/lib
  /libp2k  - puffs-to-vfs adaption layer, userspace namespace
  /libukfs - user kernel file system, a library to access file system
	     images (or devices) directly in userspace without going
	     through a system call and puffs.  It provides a slightly
	     higher interface than pure rump syscalls.

src/usr.sbin/puffs
  rump_$fs - userspace file system daemons using the kernel fs code

src/share/examples/rump
  Various examples detailing use of rump in different scenarios.
  These are provided source-only.