Commit Graph

14 Commits

Author SHA1 Message Date
pooka 8e9ecb1ac9 It seems profiling really really doesn't like pthreads on my system
for some reason.  Because I don't have time to descends into the
depths to figure out why, give an alternative rumpuser_pth module,
which allows to link rump completely without pthreads.  Naturally,
this means that no threads can be used, but it's enough to get
profiling done in some cases.
2009-01-20 21:43:13 +00:00
pooka 80508c50c5 Rename malloc() to kern_malloc() to avoid name conflict with libc.
Now it is possible to use the kernel linker with rump.
2009-01-05 21:42:37 +00:00
pooka 20a993658a Move rump public headers to include/rump 2008-11-17 08:53:12 +00:00
pooka 982852e71e Add some routines related to networking. 2008-10-02 21:37:59 +00:00
pooka 2208b2d0df add WARNS=4 2008-09-27 20:49:55 +00:00
pooka eef3b7a974 * remove unnecessary .PATH
* wrap malloc
2008-07-29 14:01:25 +00:00
pooka bdf6e0b034 Install rump libraries and utilities to the base system and remove the
private non-installed build infrastructure from sys/rump.

breakdown of commit:
  * install relevant headers into /usr/include/rump
  * build sys/rump/librump/rumpuser and sys/rump/librump/rumpkern
    from src/lib and install as librumpuser and librump, respectively
    + this retains the ability to test a librump build with just the
      kernel sources at hand
  * move sys/rump/fs/lib/libukfs and sys/rump/fs/lib/libp2k to src/lib
    for general consumption, they are not kernel-space dwellers anyway
  * build and install sys/rump/fs/lib/lib$fs as librumpfs_$fs
  * add chapter 3 manual pages for rump, rumpuser, ukfs and p2k
  * build and install userspace kernel file system daemons if MKPUFFS=yes
    is spexified
  * retire fsconsole for now, it will make a comeback with an actually
    implemented version shortly
2008-07-29 13:17:40 +00:00
pooka 11e4a43ad9 Specify RUMP_WITHOUT_THREADS only in one place. 2008-05-29 13:12:29 +00:00
pooka a7ece3ec53 Backup some fixes for recent breakage from local tree. Also some
other improvements such as exporting the real kernel namei and
using that in ukfs instead of the homegrown heap'o hacks namei.
"etcetc".
2008-03-11 10:50:16 +00:00
pooka 2b1b5d29b8 Use namei() etc. from kernel sources instead of a reimplementation.
To accommodate, give the rootvnode its own vnode op vector with a
simple lookup operation.  This is used for looking up the file
system's device vnode instead of doing that directly in a homesmoked
namei().
2008-01-24 22:41:07 +00:00
pooka 87f9ee4c42 Make it possible to run rumps multithreaded. This brings real
locking and makes it possible to run file systems which create
threads.  It also makes rump file system behaviour better match
file system behaviour in the kernel.
2007-10-31 15:57:19 +00:00
pooka cfd4dc8f38 Wrap malloc() so that we catch the kernel arguments (namely M_ZERO)
properly.  It's fairly amusing that this wasn't noticed until now.
2007-08-15 22:13:15 +00:00
pooka 711e2ec866 always compile with -g for now 2007-08-07 20:39:54 +00:00
pooka daafee8742 Introduce RUMPs - Runnable Userspace Meta-Programs
/sys/rump contains programs which run unmodified kernel code in an
emulated userspace environment.  The kernel environment is provided
by librump.  Currently supported are a number of file systems,
which by using puffs integrate seamlessly into the system and
provide a similar user experience to if the code was running as
part of the kernel.  Potential future rumpification targets include
for example parts of the networking stack and some device drivers.

This work was supported by Google Summer of Code 2007.
2007-08-05 22:28:00 +00:00