NetBSD/sys/rump
ad 92ce8c6a3d Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
2008-11-19 18:35:57 +00:00
..
fs Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
include Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer 2008-11-19 14:10:48 +00:00
librump Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer 2008-11-19 14:10:48 +00:00
net Add comments on how to do tap and bridging required for sensible 2008-11-14 14:24:00 +00:00
Makefile No need to .WAIT anymore: headers are done in a separate pass and 2008-11-17 10:21:44 +00:00
Makefile.rump Compile all rump kernel portions with -DMULTIPROCESSOR. 2008-10-09 13:40:38 +00:00
README.dirs Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer 2008-11-19 14:10:48 +00:00
TODO some more todo points 2008-08-07 11:15:20 +00:00

	$NetBSD: README.dirs,v 1.7 2008/11/19 14:10:49 pooka Exp $

    Runnable Userspace Meta Programs

Quick rundown of the current directory structure:

sys/rump/librump - kernel runtime emulation
  /rumpkern - kernel core, e.g. syscall, interrupt and lock support
  /rumpnet  - networking support and sockets layer
  /rumpuser - userspace namespace support for previous, *NO* -D_KERNEL
	      provides e.g. malloc() and some syscalls
  /rumpvfs  - file system support

sys/rump/include
  /machine - headers meant to be used for rump compilation when the MD
	     ones cause too much trouble, e.g. curlwp which is different
	     from arch to arch

sys/rump/fs - file system rumps
  /lib/lib${fs}  - kernel file system code compiled out of /sys with -D_KERNEL

sys/rump/net - networking rumps
  /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.

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

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