Commit Graph

1771 Commits

Author SHA1 Message Date
pooka 9cf08a1e73 never open rumpblk backend with O_TRUNC
XXX: the rumpuser_open interface needs a beating
2011-02-02 15:55:22 +00:00
pooka d368e9df29 adjust inode size too if VOP_SETATTR changes size 2011-02-02 14:41:55 +00:00
pooka 047dbb35d9 regen for O_DIRECTORY 2011-02-01 21:21:34 +00:00
pooka 896d209af1 update todo from my private collection (which is now empty) 2011-02-01 15:26:46 +00:00
matt 4d5d6d9aa5 Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs.  The old unclean one remains for backward compatibility.
2011-02-01 01:39:19 +00:00
matt 658d254929 Define COMPAT_50 to be 1 just like config(8) would be opt_compat_netbsd.h 2011-02-01 01:15:51 +00:00
christos df0e963b6e enable this for amd64 too. 2011-01-31 00:10:06 +00:00
bouyer 21b1dbeb44 Move rumpuser_sp_fini() after the kernel has completed shuwdown
(and especially, after filesystems have been unmounted).
This way, rump.halt returns once the rump kernel is really out of the
game, which avoids races issues in test scripts using a rump kernel.
OK pooka@
2011-01-30 16:31:42 +00:00
pooka dac4423feb Pass the value of getprogname() from the client to the server and
record it in p_comm.  This is nice for things like sockstat, since
they now display the client command name:

pain-rustique:43:~> rump.sockstat
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
root     xulrunner- 16     0 tcp    192.168.2.114.65507   204.152.190.12.80
root     xulrunner- 16     1 tcp    192.168.2.114.65501   204.152.190.12.80
root     xulrunner- 16     2 tcp    192.168.2.114.65500   204.152.190.12.80
root     xulrunner- 16     3 tcp    192.168.2.114.65499   204.152.190.12.80
root     xulrunner- 16     5 tcp    192.168.2.114.65498   204.152.190.12.80
root     xulrunner- 16     6 tcp    192.168.2.114.65497   204.152.190.12.80
root     socket     62     0 tcp6   *.http                *.*
root     socket     62     1 tcp    *.http                *.*
root     socket     63     0 tcp6   *.81                  *.*
root     socket     63     1 tcp    *.81                  *.*
2011-01-28 19:21:28 +00:00
pooka 464ac5f9d7 Don't NULL out l_cpu, l_stat is the new rumpkernel way too. 2011-01-28 18:48:21 +00:00
pooka cedf6bdaf9 call procinit_sysctl to register the proc sysctl tree 2011-01-28 18:45:52 +00:00
pooka 0199e732f8 these days make sure we have an lwp lock (for lwp walker smiths) 2011-01-28 17:57:03 +00:00
pooka 840bf0206b If we are "unsleepable" due to a dying proc, yield() instead of
returning directly.  This allows other threads to run possible
setting a condition we are waiting on.

Fixes a busyloop condition which could be entered from vfs_unmountall()
where we were waiting for vrele_pending and the vrele thread could
not run since we were hogging the CPU.
2011-01-28 17:04:39 +00:00
pooka 96de0bb9fe Some lwp-walkers expect the correct value for l_stat, so use a flag
in l_flag instead of l_stat for the purpose of flagging lwps in a
dying proc.
2011-01-28 16:58:27 +00:00
pooka 99a6acb4bd fill in a default name for p_comm 2011-01-28 16:34:31 +00:00
pooka e5a2e2b285 Fill in l_wmesg since some proc-walkers assume it. 2011-01-27 21:55:25 +00:00
pooka 44d370c291 Fix syscall name for compat syscalls. Arguably makesyscalls.sh
should generate the right info, but it's easier to fix here now.

This fixes compat syscalls for rump servers with dynamically loaded
components.  Since the compat syscall revamp a little time ago e.g.
stat() didn't work on my system (which is 5.0-based) with e.g.
rump_server -lrumpvfs.  Static servers and non-compat syscalls
worked just fine, though, making this a little harder to spot that
the usual bug.
2011-01-27 17:36:27 +00:00
pooka 5c349f05f1 inverse inversely incorrect comment 2011-01-22 18:33:25 +00:00
pooka 1d9f8678bd In case sys_reboot() was called by a remote client, put the response
in the socket before we shut down.  This way the response to the
syscall travels to the caller and they know things worked correctly
instead of having to just assume.
2011-01-22 13:41:22 +00:00
pooka 0feb91da5d Add a comment explaning why uvm_reclaim_hook is not currently
necessary for rump.

XXX: strictly speaking, the zfs implementation does not work
correctly since it just wakes up a thread instead of performing
the scan in the context of the pagedaemon
2011-01-22 13:13:46 +00:00
pooka 8df353fe72 no longer used 2011-01-21 13:11:32 +00:00
pooka 0ec2770c3c Since "physmem" is largely unused except for zfs wanting to know
if it has enough memory available, just pick a number which makes
zfs happy.

We *could* use a MIN() of available host mem and rump_memlimit,
though ...
2011-01-21 13:11:03 +00:00
pooka a230f6e23f don't perform tasks already done by zfs_modcmd 2011-01-21 12:23:29 +00:00
haad 61583090b2 Add support for compiling ZFS and Solaris modules as RUMP libraries. Add
some locking and rumpcopy primitives and refactor module building Makefiles
to work with both RUMP and kernel modules. This is first part of adding
support for regular test of zfs on NetBSD to hunt some bugs and make it
stable.

Ok by pooka@.
2011-01-18 22:21:22 +00:00
pooka 887a2b78c7 regen: more compat syscalls 2011-01-17 18:25:17 +00:00
pooka 111bbbce9e Missed pselect50 in previous (file was open in editor ... d0h).
Add mknod50 and fhstat50 too.
2011-01-17 18:24:17 +00:00
pooka 0e4497a140 use newstyle rump syscall compat 2011-01-17 16:25:39 +00:00
pooka 4b0482d05f regen: rework rump syscall stubs (see makesyscalls.sh log for details) 2011-01-17 16:24:04 +00:00
pooka 46b3b0f6ce use compat code from sys/compat/common 2011-01-17 16:20:20 +00:00
pooka cf864401d0 Support SIGMODEL_RAISE for non-local clients. 2011-01-14 13:11:08 +00:00
pooka bb583c67a3 Release etfs node's backing vnode before freeing the etfs node.
spotted from the LOCKDEBUG run that martin accidentally did
2011-01-14 11:07:42 +00:00
pooka a4d5652afb Introduce RUMP_LOCALPROC_P() macro and use it. 2011-01-13 15:38:29 +00:00
pooka 81d086b2f7 Respect DOWHITEOUT when removing a directory. 2011-01-13 10:26:47 +00:00
pooka bf67d44461 support MNT_RDONLY 2011-01-13 07:27:35 +00:00
pooka 5f240a5279 unionfs voodoo 2011-01-12 21:08:55 +00:00
pooka 0312c5cee5 Explicitly set *vpp to NULL in lookup. At least reluckup gets
upset if we don't explicitly nullify vpp in the error case.
2011-01-12 19:31:39 +00:00
pooka 0f41405209 reject r/o mount attempts 2011-01-12 17:20:54 +00:00
pooka 8c4600a2ed Mark rootfs r/w. Thanks to the incredible machine known as vfs,
the only one who noticed the inconsistency of writing to a r/o fs
was unionfs.
2011-01-12 17:14:34 +00:00
pooka 6f53b4a35d make this happy to compile standalone 2011-01-12 16:12:30 +00:00
pooka 2bd6ac2300 add spop_procexit 2011-01-12 12:51:47 +00:00
pooka b0bfbf33ac When the client and the rump kernel are the same host process, all
threads blocking in the kernel automatically exit when the process
exists.  However, for the sysproxy case this does not hold.
Typically it's ~harmless, but e.g. in the case of socket binding
following by poll it gets annoying.

Introduce sysproxy procexit, which wakes up all threads blocking
on a condition when a process's communication socket is closed.
The code is a little different from the regular kernel simply
because in a rump kernel l_mutex is not available at all times
(this is because scheduling happens on every kernel entry and exit,
and that path must be kept lockless for any reasonable performance).
Instead, use gating which makes sure all threads are either out of
the cv code or suspended in a well-known state.  Then, wake up the
threads and tell them to get the hell out of our galaxy.
2011-01-12 12:51:21 +00:00
kefren 6469d79cd6 add advlock to rumpfs, ok pooka@ 2011-01-11 14:05:32 +00:00
pooka 0de1b73a11 KASSERT we don't return back to userspace with the kernel lock held. 2011-01-11 10:49:20 +00:00
pooka a05de63f6b Ensure that a) loopback attaches after all the domains have attached
b) loopback is configured only after it has attached.

makes tests/net/if_loop work again
2011-01-11 09:24:05 +00:00
pooka 68ede6388b Add one more component level to networking: IFCFG.
It is executed after IF and the purposes to guarantee the right
order in cross-component interface address configuration.
(e.g. lo0 is attached by net but 127.0.0.1 is configured by netinet)
2011-01-11 09:22:32 +00:00
christos fb4e945aa5 regen 2011-01-10 04:42:24 +00:00
pooka 574a31f2de Shortcircuit remote 0-len copyin/out already in the kernel. 2011-01-09 14:12:37 +00:00
pooka 35e989d694 accept '\0' as a valid string 2011-01-09 13:49:57 +00:00
pooka 9a17e75e0e Autoconfigure 127.0.0.1 for lo0.
(testing bind/connect/etc. is now possible on a virgin rump kernel
without the need to ifconfig anything)
2011-01-09 12:22:34 +00:00
pooka 284c651488 Separate interface init and domain adding. 2011-01-09 12:20:53 +00:00
pooka 74e0a75b03 Allow multiple RUMP_COMPONENT() in one file. 2011-01-09 12:20:10 +00:00
pooka 712b80467f SIGPIPE is generated internally by the kernel, so include it in
the list of "no panic" sigs.
2011-01-08 14:01:04 +00:00
pooka 6d44fb2799 Do a minidehumanizenumber for RUMP_MEMLIMIT. Now you can set it
to e.g. 16m instead of having to type out 16777216.
2011-01-08 09:40:05 +00:00
pooka 3a382dc397 Avoid double init of tty_lock if rumpkern_tty is included. LOCKDEBUG
does not tolerate double inits.

pointed out by njoly
2011-01-07 15:10:22 +00:00
pooka f9736ee54f Censor no-longer-relevant flags which may be passed down from
somewhere (e.g. an older kernel).  We really can't do anything
about new flags or flags changing meaning, though.
2011-01-07 11:27:53 +00:00
pooka 46b37b0509 regen: fix PARAMASK 2011-01-07 11:25:43 +00:00
pooka 97936d4ea0 antipasto 2011-01-06 13:36:48 +00:00
pooka 04056e47b5 give the outside world some idea of if we have LOCKDEBUG or not 2011-01-06 13:09:17 +00:00
pooka cd73d116db Support LOCKDEBUG. To use it, compile sys/rump with RUMP_LOCKDEBUG=yes.
requested by martin (sparc64 gdb cannot reliably produce a stack trace)
2011-01-06 11:22:54 +00:00
pooka 51426b1ada cwdi0 lock is now initialized in proc0_init() 2011-01-06 10:20:57 +00:00
pooka 4b258054be Add NetBSD 5 compat wrapping for *utimes() 2011-01-04 17:00:19 +00:00
pooka a9dcf542ce Add SMP support for all architectures.
tested on sparc64 by martin
2011-01-04 16:23:35 +00:00
pooka da5a203b0b Need to check for VNOVAL when setting attrs. 2011-01-04 09:49:16 +00:00
pooka 41cdab1b22 Don't try to change the size of non-reg nodes or when vattr doesn't
contain a new size.

from njoly
2011-01-04 00:09:43 +00:00
pooka 7766a79555 kqueue signal filters are not supported, so be explicit about it. 2011-01-03 14:57:06 +00:00
pooka afa6c20325 regen: rump_lwproc_rfork 2011-01-02 12:53:13 +00:00
pooka 8b69e65f3e There is a use case where preserving the parent's fd table is
relevant, so to accommodate that change rump_lwproc_newproc() to
rump_lwproc_rfork().  The new interface has the rfork() fd table
semantics.  The equivalent of rump_lwproc_newproc() is
rump_lwproc_rfork(RUMP_RFCFDG).
2011-01-02 12:52:25 +00:00
dholland a2770d1fb4 Final regen for tonight. 2011-01-02 05:12:56 +00:00
dholland 201ce42cd0 Regen yet again. 2011-01-02 05:09:50 +00:00
dholland bf71879ee8 Regen again. 2011-01-02 05:05:42 +00:00
dholland ef568a47eb Regen. 2011-01-02 05:02:04 +00:00
pooka d015d3f957 Report correct file size + deal with ftruncate() and O_APPEND. 2011-01-01 19:47:22 +00:00
pooka 5cf9cd8f68 regen for comments 2010-12-30 20:11:07 +00:00
pooka 7b44389237 regen: SYCALL_NOSYS in rump_sysent[] 2010-12-30 16:51:28 +00:00
pooka 9b98cb6805 Requery syscall handlers during rump kernel init. This fixes
syscalls provided by a rump faction such as rumpvfs when the library
is not linked into the binary, but is dlopen()'d before calling
rump_init().
(it is illegal to dlopen() a faction after rump_init(), but syscalls
maybe be added the usual way with modules)

rump_server(1) -lstuff works now.
2010-12-30 16:46:32 +00:00
pooka 4513e431d6 Refetch netisr function pointers with dlsym(). This gives the
desired values in case the components containing the netisr handlers
were not linked in but dlopen()'d before calling rump_init().

(could simplify a little in case static linking is declared dead)
2010-12-30 16:19:39 +00:00
pooka 2aa9fbc0b2 Allow rump kernel to call dlsym(RTLD_DEFAULT). 2010-12-30 15:47:30 +00:00
pooka 6234f7657c regen: whitespace polish police 2010-12-30 13:38:56 +00:00
skrll 1892263359 Pull in sys/atomic.h so that hp700 can build - needed for membar_exit. 2010-12-18 14:01:43 +00:00
pooka 5e6a6543ba Don't loop eternally if uiomove() fails eternally (e.g. because
the connection to the client has been severed).
2010-12-18 11:45:09 +00:00
pooka a290b96152 Use correct spec_islocked method. 2010-12-18 08:20:12 +00:00
rmind 11a35aed4d - Fix a few possible locking issues in execve1() and exit1(). Add a note
that scheduler locks are special in this regard - adaptive locks cannot
  be in the path due to turnstiles.  Randomly spotted/reported by uebayasi@.
- Remove unused lwp_relock() and replace lwp_lock_retry() by simplifying
  lwp_lock() and sleepq_enter() a little.
- Give alllwp its own cache-line and mark lwp_cache pointer as read-mostly.

OK ad@
2010-12-18 01:36:19 +00:00
joerg dc09d3bc32 Support MKREPRO 2010-12-17 00:53:16 +00:00
pooka 3c4a27f7cd Print a banner a connecting client. The banner contains rump sp
protocol version, os name, os revision and machine.
2010-12-16 12:38:20 +00:00
pooka 92050ae959 stubs to make life easier 2010-12-13 14:03:59 +00:00
pooka cee48cd5d1 Call rumpuser_sp_fini() from cpu_reboot() to make sure sys_reboot
with RB_HALT does not hang.
2010-12-12 17:11:33 +00:00
pooka c59435eea2 add rumpuser_sp_fini, which surpringly is the opposite of rumpuser_sp_init 2010-12-12 17:10:36 +00:00
pooka 8a596af853 print a bit more diagnostics when halting 2010-12-12 13:18:07 +00:00
pooka 02357b48fb weak stubs for agr(4) 2010-12-08 20:20:52 +00:00
pooka 3589617ac9 agr(4) support 2010-12-08 20:20:16 +00:00
pooka 4dd3369fc2 add weak stubs for bridge (not the game) 2010-12-08 18:06:58 +00:00
pooka 7ed2407316 Actually, unlike e.g. carp, bridge can be its own component since
it doesn't want to join the protosw party.  We can deal with other
linkhappy stuff with weak symbols.

(where is our modular networking stack?)
2010-12-08 18:06:43 +00:00
joerg db91f3e244 Don't alias the same symbol twice. 2010-12-08 01:22:55 +00:00
pooka 8d84854f4d add drvctl component 2010-12-07 21:38:07 +00:00
pooka 9b108f4af3 Support bridging. As usual, it would be nice if this could be a
separate component, but King Ifdef doesn't let us.
2010-12-07 20:39:07 +00:00
pooka f03553f56f haad removed 64bit atomic ops from dm, so put it back on the MI all list 2010-12-07 17:25:40 +00:00
pooka e7ec49d29a sockin cannot be loaded the same time as rumpnet_inet because both
provide a PF_INET domain.  Guess that real inet is more useful and
don't put sockin on the "all components" list.
2010-12-07 17:23:27 +00:00
pooka 53fd187690 Allow creation with NULL busname (to be later set with SIOCSLINKSTR). 2010-12-06 10:48:18 +00:00
pooka 6816648ce4 use -isystem where appropriate 2010-12-06 09:12:34 +00:00
pooka 99f70917f1 dm uses non-MI 64bit atomic ops, so don't include it in the default list. 2010-12-05 22:01:23 +00:00
pooka 76c4650a3f Leave usb-stuff out of alldevs until DELAY() is mi. 2010-12-05 20:39:10 +00:00
pooka fee25d6c52 rumpcrypto should never have been its own faction, so finally make
it a component under kern, i.e. rumpcrypto -> rumpkern_crypto.
2010-12-05 20:11:21 +00:00
pooka 7e29270f53 claim ENOTTY for PRU_CONTROL for now 2010-12-05 18:01:46 +00:00
pooka fdb9b6e9bf Revert previous: it introduces a dependency between sockin and the
netinet rump components and will have to be done another way.
2010-12-05 17:59:12 +00:00
pooka 6292852036 Rename Makefile.rump${x} to Makefile.rump${x}comp for consistency. 2010-12-05 16:53:46 +00:00
pooka a0cc35fc67 include usb_verbose in the component (at least for the time being) 2010-12-05 16:51:00 +00:00
pooka 6c11d60910 whitespace polish 2010-12-05 16:50:09 +00:00
pooka 6dccdaa019 Make build similar to fs, net & dev. 2010-12-05 16:27:42 +00:00
pooka 520524fd92 Fix RUMPFSLIBS etc. As collateral, rename nullfs/umapfs to match
the vfsname, i.e. to "null" and "umap".
2010-12-05 16:11:16 +00:00
pooka 6ec300d935 get rid of this uninstalled "test", even i haven't compiled it for ages 2010-12-05 16:02:04 +00:00
pooka 2665f62b03 use in_control() for PRU_CONTROL 2010-12-05 15:54:50 +00:00
pooka 688fddb6c6 add ci_curlwp since we use it now 2010-12-02 21:20:39 +00:00
pooka 1de81dd955 If the pagedaemon cannot free any memory due to not being able to
lock any uvm objects, check if lockholders are currently on CPU
and yield to try very soon again instead of assuming deadlock.

This makes limited-memory kernels perform the same as memory-unlimited
kernels (provided there is a reasonable amount of memory available).
For example, for large file copy off of ffs where the image is
backed on host memory (i.e. no disk i/o, i.e. ideal conditions)
the figures are, per rump kernel memory limit:

3000kB: same
1000kB: 10% slower
500kB:  50% slower

(per pagedaemon code might still be able to use some tweak, though)
2010-12-01 20:29:56 +00:00
pooka 48ac8b3849 implement mutex_owner() 2010-12-01 17:22:51 +00:00
pooka cac1c6e392 Don't bother asserting: if we create the thread without KTHREAD_MPSAFE,
it's not going to be MPSAFE.
2010-12-01 15:13:24 +00:00
pooka 5f9e9d2543 rumpuser interface changed 2010-12-01 15:02:04 +00:00
pooka 5e1b7bf36d Track lwp as the rumpuser mutex owner instead of pthread_t (this
is done in rumpuser for simplicity, since on the kernel side things
we assume we have only one pointer of space).  As a side-effect,
we can no longer know if the current thread is holding on to a
mutex locked without curlwp context (basically all mutexes inited
outside of mutex_init()).  The only thing that called rumpuser_mutex_held()
for a non-kmutex was the giant lock.  So, instead implement recursive
locking for the giant lock in the rump kernel and get rid of the
now-unused recursive pthread mutex in the hypercall interface.
2010-12-01 14:59:37 +00:00
pooka f73729b6b4 Make uvm_pagealloc_tele() fail if the request can't be immediately
satisfied.  This allows the caller to unlock the object and the
pagedaemon to avoid deadlock even if ~all memory is consumed by
one vm object.  This in turn makes is possible to copy a large file
into a rump kernel with a 10MB memory limit (where large >> 10MB).
A little more tuning will be required to avoid the pagedaemon
hitting the sleep-and-retry path, though.

+ fix some outdated unrelated comments
2010-12-01 11:19:18 +00:00
pooka 074a7d7688 simplify 2010-11-30 18:20:41 +00:00
pooka 205a3e1371 regen: checksavecn is gone 2010-11-30 16:27:30 +00:00
pooka 2c4a6d5bab remove unnecessary interface 2010-11-30 15:41:35 +00:00
pooka 88c803e16f fix broken rototill 2010-11-30 15:39:27 +00:00
pooka 7332ad1515 Require server to be explicitly initialized with rump_init_server(url).
Also, add rump_daemonize_begin() / rump_daemonize_end() to help
with the "can't daemon() after pthread_create()" problem.  Applications
could accomplish the same, but since it's such a common operation,
provide a little help.
2010-11-30 14:23:24 +00:00
dholland fbc55b334e SAVENAME and HASBUF namei flags have been removed; update rumpvfs accordingly. 2010-11-30 10:48:27 +00:00
dholland cf7974120a RUMPCN_FORCEFREE is no longer needed. 2010-11-30 10:46:59 +00:00
dholland 3538a43f3a Regen for both preceding commits of namei.src together. I suppose I should
technically have regen'd separately for each but it didn't seem worthwhile.
2010-11-30 10:44:44 +00:00
dholland 0c1edef512 Fix etfs pathname handling to not (mis)use namei's scratch space.
etfs objects must now be registered as absolute paths; however, it is now
possible to access them via relative paths and through symlinks, which
previously worked some times and not others depending on exactly what
namei was doing.

discussed on tech-kern and ok'd by pooka.
2010-11-30 01:22:50 +00:00
pooka 571bbfbcca Duh, it's x86_64, not amd64. This should make the races which
require SMP trigger in the amd64/qemu runs again.
2010-11-26 09:25:39 +00:00
pooka 6b71288c49 *facepalm*, adjust remote copyinstr to work in cases where the end
of the max copyin extends to an unmapped page.

Noticed, as usual, by tests.
2010-11-25 17:59:02 +00:00
pooka e425e897be Add aliases for _atomic_cas_foo, as they are used often. A snafu
in "./build.sh rumptest" prevented me from noticing this yesterday,
so thanks to Nick Hudson for re-pinging.
(I'll fix build.sh shortly)
2010-11-23 12:51:10 +00:00
pooka 03969dba0e the usual wuninit stuff 2010-11-22 21:46:04 +00:00
pooka cd28ebebac Add rump component for md(4).
Now, let's say you start a rump server and configure a memory disk
on it.  Remote (as in TCP remote) clients may now access that
memory.

cloudy, my apps are scattered and they're cloudy
they have no borders, no boundaries
2010-11-22 21:20:32 +00:00
pooka 9be034428c Support physio for remote processes.
==> add support for remote vmspace vmapbuf/vunmapbuf
  ==> add proper support for copyin/out_vmspace
    ==> add support for remote vmspace uvm_io
      ==> add support for non-curproc rumpuser_sp_copyin/out
        ==> store remote context in vm_map->pmap instead of
            pthread_specificdata

In short, makes read/write of most (all?) block devices work from
a remote rump client via rump syscalls.
2010-11-22 20:42:19 +00:00
pooka c816a62b18 "regen": /dev/md* 2010-11-22 20:29:15 +00:00
pooka 639422bd4e Support VOP_SETATTR, otherwise e.g. open(O_TRUNC) fails. 2010-11-22 15:15:35 +00:00
pooka 9734188353 rename atomic_cas_up to rump_atomic_cas_up to avoid collisions 2010-11-22 10:50:50 +00:00
pooka a742ba8060 Encode smp-capability into the makefile so that it can be used to
avoid potential screwups.
2010-11-21 22:17:24 +00:00
pooka a78ea8c07c Fix situation where we try to configure >MAXCPUS cpus. 2010-11-21 22:01:15 +00:00
pooka 566f7922d9 Add a lockless uniprocessor version of atomic_cas_generic.c, which
is currently used by all the archs that previously used cas_generic.
2010-11-21 21:46:43 +00:00
pooka bcc1160c88 regen: rump_reboot is gone 2010-11-21 17:35:19 +00:00
pooka 15e3ba0cc7 Realize the >1yo comment above rump_reboot and retire them to make
room for sys_reboot.
2010-11-21 17:34:11 +00:00
pooka 237c2727e8 I can't think of any reason why a rump kernel has to allow vfsusermount
by default, nor do I remember why i originally added it in 2008
==> remove.
2010-11-21 16:19:19 +00:00
pooka a555936f2e remove no longer necessary code 2010-11-19 17:11:20 +00:00
pooka 1f5c4aaeac Pass routines necessary for multithreaded operation down to rumpuser_sp. 2010-11-19 17:06:56 +00:00
dholland 479d02e2f7 Regen. 2010-11-19 06:45:29 +00:00
dholland 8f6ed30d57 Introduce struct pathbuf. This is an abstraction to hold a pathname
and the metadata required to interpret it. Callers of namei must now
create a pathbuf and pass it to NDINIT (instead of a string and a
uio_seg), then destroy the pathbuf after the namei session is
complete.

Update all namei call sites accordingly. Add a pathbuf(9) man page and
update namei(9).

The pathbuf interface also now appears in a couple of related
additional places that were passing string/uio_seg pairs that were
later fed into NDINIT. Update other call sites accordingly.
2010-11-19 06:44:33 +00:00
pooka e425b7c737 Remove unused rump_set_vmspace. An equivalent needs to come back
later, though, but in its current form it's just unusable garbage.
2010-11-17 21:57:33 +00:00
pooka 5eb7a3a4cc Provide a special rump_proxy_syscall for handling received proxy
syscalls and retire unused rump_syscall.
2010-11-17 21:52:29 +00:00
pooka dc4938b8f8 regen: -rump_pub_syscall 2010-11-17 21:50:34 +00:00
pooka 56c4db38a8 remove rump_pub_syscall -- unused/unusable 2010-11-17 21:49:52 +00:00