2013-01-08 17:12:26 +04:00
|
|
|
$NetBSD: README.dirs,v 1.12 2013/01/08 13:12:26 pooka Exp $
|
2007-08-07 01:03:12 +04:00
|
|
|
|
|
|
|
|
2010-05-11 15:58:14 +04:00
|
|
|
The following is a quick rundown of the current directory structure.
|
|
|
|
First, components in the kernel namespace, i.e. compiled with -D_KERNEL
|
2007-08-07 01:03:12 +04:00
|
|
|
|
2013-01-08 17:12:26 +04:00
|
|
|
sys/rump/librump - rump kernel base and factions
|
2009-09-04 14:54:44 +04:00
|
|
|
/rumpkern - kernel core, e.g. syscall, interrupt and lock support
|
|
|
|
|
|
|
|
/rumpdev - device support, e.g. autoconf subsystem
|
|
|
|
/rumpnet - networking support and sockets layer
|
|
|
|
/rumpvfs - file system support
|
2007-08-07 01:03:12 +04:00
|
|
|
|
2008-07-29 17:17:40 +04:00
|
|
|
sys/rump/include
|
2013-01-08 17:12:26 +04:00
|
|
|
/machine - used for architectures where the rump kernel ABI is not yet the
|
2008-12-31 16:18:06 +03:00
|
|
|
same as the kernel module ABI. will eventually disappear
|
|
|
|
completely
|
2013-01-08 17:12:26 +04:00
|
|
|
/rump - kernel headers installed to userspace
|
2007-08-07 01:03:12 +04:00
|
|
|
|
2010-05-11 15:58:14 +04:00
|
|
|
sys/rump/dev - device components, e.g. audio, raidframe, usb drivers
|
2009-09-04 14:54:44 +04:00
|
|
|
|
|
|
|
sys/rump/fs - file system components
|
2010-05-11 15:58:14 +04:00
|
|
|
/lib/lib${fs} - kernel file system code
|
2008-07-29 17:17:40 +04:00
|
|
|
|
2009-09-04 14:54:44 +04:00
|
|
|
sys/rump/net - networking components
|
2008-10-09 15:50:08 +04:00
|
|
|
/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.
|
2013-01-08 17:12:26 +04:00
|
|
|
/lib/libshmif - a virtual interface which uses a memory mapped file
|
|
|
|
as an ethernet bus. works completely unprivileged.
|
2008-10-09 15:50:08 +04:00
|
|
|
/lib/libsockin - implements PF_INET using host kernel sockets. This is
|
|
|
|
mutually exclusive with net, netinet and virtif.
|
2008-07-29 17:17:40 +04:00
|
|
|
|
2010-05-11 15:58:14 +04:00
|
|
|
|
|
|
|
|
2013-01-08 17:12:26 +04:00
|
|
|
The rest are out-of-kernel components (i.e. no -D_KERNEL).
|
2010-05-11 15:58:14 +04:00
|
|
|
|
|
|
|
hypercall interface:
|
|
|
|
src/lib/librumpuser
|
2013-01-08 17:12:26 +04:00
|
|
|
The "rumpuser" hypercall interfaces are used by a rump kernel to
|
|
|
|
access host resources.
|
|
|
|
|
|
|
|
remote client interface:
|
|
|
|
src/lib/librumpclient
|
|
|
|
The rumpclient library provides remote access to rump kernel servers.
|
|
|
|
|
|
|
|
system call hijacking:
|
|
|
|
src/lib/librumphijack
|
|
|
|
The rumphijack library allows intercepting system calls and redirecting
|
|
|
|
them to a rump kernel server instead of the host kernel. In other
|
|
|
|
words, it allows existing binaries to request indicated services from
|
|
|
|
a rump kernel instead of from the host kernel.
|
2010-05-11 15:58:14 +04:00
|
|
|
|
2008-07-29 17:17:40 +04:00
|
|
|
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
|
2010-05-11 15:58:14 +04:00
|
|
|
through a system call and puffs. It provides a slightly
|
2013-01-08 17:12:26 +04:00
|
|
|
higher interface than syscalls.
|
2008-07-29 17:17:40 +04:00
|
|
|
|
|
|
|
src/usr.sbin/puffs
|
|
|
|
rump_$fs - userspace file system daemons using the kernel fs code
|
2010-05-11 15:58:14 +04:00
|
|
|
|
|
|
|
src/share/examples/rump
|
2013-01-08 17:12:26 +04:00
|
|
|
Various examples detailing use of rump kernels in different scenarios.
|
2010-05-11 15:58:14 +04:00
|
|
|
These are provided source-only.
|