NetBSD/sys/rump
pooka cd3e4f8ebc Reinstate the blanket pmap.h for archs which do not conform to the
kernel ABI (i.e. not i386 or amd64).  Due to the "half function,
half macro, all noodles" nature of pmap.h, it's too entangling and
too brittle to keep up with an ifdeffy MI implementation.
2010-06-16 11:45:21 +00:00
..
dev tty support is finally a standalone component 2010-06-14 14:47:58 +00:00
fs ptyfs rump component 2010-06-14 14:36:15 +00:00
include Reinstate the blanket pmap.h for archs which do not conform to the 2010-06-16 11:45:21 +00:00
kern Add unadulterated tty support as a rump component. 2010-06-14 14:45:47 +00:00
librump Reinstate the blanket pmap.h for archs which do not conform to the 2010-06-16 11:45:21 +00:00
net Dump rump kernel bootstrap time. 2010-05-31 23:13:17 +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 Limit visibility of _RUMPKERNEL to prevent abuse. 2010-05-11 21:08:07 +00:00
README.dirs update slightly 2010-05-11 11:58:14 +00:00
TODO update a bit 2009-11-26 10:10:50 +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.