The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/rump/README.dirs

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1         $NetBSD: README.dirs,v 1.12 2013/01/08 13:12:26 pooka Exp $
    2 
    3 
    4 The following is a quick rundown of the current directory structure.
    5 First, components in the kernel namespace, i.e. compiled with -D_KERNEL
    6 
    7 sys/rump/librump - rump kernel base and factions
    8   /rumpkern     - kernel core, e.g. syscall, interrupt and lock support
    9 
   10   /rumpdev      - device support, e.g. autoconf subsystem
   11   /rumpnet      - networking support and sockets layer
   12   /rumpvfs      - file system support
   13 
   14 sys/rump/include
   15   /machine - used for architectures where the rump kernel ABI is not yet the
   16              same as the kernel module ABI.  will eventually disappear
   17              completely
   18   /rump    - kernel headers installed to userspace
   19 
   20 sys/rump/dev - device components, e.g. audio, raidframe, usb drivers
   21 
   22 sys/rump/fs - file system components
   23   /lib/lib${fs}  - kernel file system code
   24 
   25 sys/rump/net - networking components
   26   /lib/libnet     - subroutines from sys/net, e.g. route and if_ethersubr
   27   /lib/libnetinet - TCP/IP
   28   /lib/libvirtif  - a virtual interface which uses host tap(4) to shovel
   29                     packets.  This is used by netinet and if_ethersubr.
   30   /lib/libshmif   - a virtual interface which uses a memory mapped file
   31                     as an ethernet bus.  works completely unprivileged.
   32   /lib/libsockin  - implements PF_INET using host kernel sockets.  This is
   33                     mutually exclusive with net, netinet and virtif.
   34 
   35 
   36 
   37 The rest are out-of-kernel components (i.e. no -D_KERNEL).
   38 
   39 hypercall interface:
   40 src/lib/librumpuser
   41   The "rumpuser" hypercall interfaces are used by a rump kernel to
   42   access host resources.
   43 
   44 remote client interface:
   45 src/lib/librumpclient
   46   The rumpclient library provides remote access to rump kernel servers.
   47 
   48 system call hijacking:
   49 src/lib/librumphijack
   50   The rumphijack library allows intercepting system calls and redirecting
   51   them to a rump kernel server instead of the host kernel.  In other
   52   words, it allows existing binaries to request indicated services from
   53   a rump kernel instead of from the host kernel.
   54 
   55 Users:
   56 src/lib
   57   /libp2k  - puffs-to-vfs adaption layer, userspace namespace
   58   /libukfs - user kernel file system, a library to access file system
   59              images (or devices) directly in userspace without going
   60              through a system call and puffs.  It provides a slightly
   61              higher interface than syscalls.
   62 
   63 src/usr.sbin/puffs
   64   rump_$fs - userspace file system daemons using the kernel fs code
   65 
   66 src/share/examples/rump
   67   Various examples detailing use of rump kernels in different scenarios.
   68   These are provided source-only.

Cache object: c48c3226ea46c52406e717bcf59a1bba


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.