RUMP(3)                 NetBSD Library Functions Manual                RUMP(3)

     rump -- Runnable Userspace Meta Program kernel

     rump Library (librump, -lrump)

     #include <rump/rump.h>
     #include <rump/rump_syscalls.h>
     #include <rump/rumpvnode_if.h>

     rump emulates portions of the kernel in order to be able to run kernel
     code from a userspace application.  For most parts kernel code is
     directly used, but in some cases such as with vm and device drivers a
     reimplementation suitable for userspace is provided.  All of the routines
     in rump have been compiled in the kernel namespace with -D_KERNEL.

     Although rump includes many kernel routines directly, userspace applica-
     tions should not attempt to include NetBSD system headers and call kernel
     functions directly.  Instead, rump routines should be called.  In case
     applications attempt to include <sys> headers from the NetBSD tree, col-
     lisions will result on other platforms.

     Three classes of routines are provided by rump:

                These routines have been handwritten for rump operation.  Some
                are useful purely for rump, while others are merely interfaces
                to existing kernel routines.  An example of the former is
                rump_fakeblk_register(), while an example of the latter class
                is rump_vfs_unmount().

                The routines available in this class can be found from the
                header <rump.h>.

           System Calls
                It is possible to execute certain system calls from rump.
                However, contrary to real system calls, the kernel is never
                entered, but the system call backend code compiled into rump
                is merely called as a direct function call.

                The autogenerated list of system calls currently available in
                rump can be found from the header <rump_syscalls.h>.

           Vnode Interface
                To sort out namespace collisions for non-NetBSD platforms, the
                whole vnode interface set is provided under a special names-
                pace.  The operation is the same as in the kernel, but the
                interface names begin with the prefix RUMP_VOP.

                This class of routines is available from the autogenerated
                header <rumpvnode_if.h>.

     Before use rump must be initialized by calling rump_init().

     p2k(3), rumpuser(3), ukfs(3)

     rump first appeared in NetBSD 5.0.

     Antti Kantee <>

     rump is highly experimental and may change in header location, library
     name, API and/or ABI without warning.

NetBSD 5.1                       July 28, 2008                      NetBSD 5.1

You can also request any man page by name and (optionally) by section:


Use the DEFAULT collection to view manual pages for third-party software.

©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2018 Modified for NetBSD by Kimmo Suominen