Commit Graph

148 Commits

Author SHA1 Message Date
pooka
cefcf2133f Add a bus.h blanket header which forces definition of bus space /
bus dma interfaces as functions and therefore makes it possible to
use rump on archs which suffer from macro maladies, i.e. everything
except i386 and amd64.

(build-tested on sparc64 and vax, which are usually the two extremes
of weirdness in these cases)
2010-02-09 17:33:31 +00:00
stacktic
f3ec34d58f Fixed ukfs build on non-NetBSD system. 2009-12-23 17:17:59 +00:00
pooka
e1bbdeb452 regen: INRENAME 2009-12-23 01:09:57 +00:00
haad
303ed12957 Add RUMP_SYS_OPEN define to replace open calls with their RUMP version. 2009-12-09 00:23:28 +00:00
pooka
7bcd019a9d regen for rump_sys_pipe() 2009-11-26 17:24:36 +00:00
pooka
c845b495c5 regen: retval -> retval[2] 2009-11-26 16:38:01 +00:00
pooka
300f534bd8 Build the kernel symbol table in rumpuser bootstrap and feed it to
the rump kernel.  After this change it is possible to use the
in-kernel linker and rump_sys_modctl() to load kernel modules at
runtime.

Previously loading modules at runtime was possible only through
using the host system ld.so.  Note that it is still preferred to
use shared libs when possible, since they are PIC and n virtual
kernels will only require one copy of r/o segments.  However, when
there is no access to source code, a binary kernel module is the
only thing available ...
2009-11-26 09:50:38 +00:00
pooka
4f28ef3250 regen: rump_kernelfsym_load() 2009-11-26 09:21:16 +00:00
pooka
7d11849a4a regen: rump_sys_modctl() 2009-11-26 09:02:38 +00:00
pooka
8e8d412248 Create async i/o "interrupt" thread from within the kernel so that
it gets a kernel thread context.
2009-11-19 14:44:58 +00:00
pooka
ee4c8e1012 Make rumpuser_cv_timedwait take two int64's instead timespec to
uncouple it from the timespec layout.  Also, change return value
to zero for "timeout didn't expire" and non-zero for "timeout
expired".  This decouples the interface from errno assignments.
2009-11-11 16:46:50 +00:00
pooka
2a63153751 regen: add AB_* macros 2009-11-03 18:23:15 +00:00
pooka
ef8c3e068e include AB_* macros from reboot.h 2009-11-03 18:22:44 +00:00
pooka
b32585a644 Add rump_boot_set/gethowto(), which can be called before rump_init()
to control .... *tadaa* boothowto.
2009-11-03 18:22:16 +00:00
pooka
99e178a1c1 Pass modinit to rumpuser_dl_module_bootstrap() as a function pointer
to avoid linker rump -> rumpuser -> rump dependency which is annoying
redundancy in static linking.
2009-10-24 11:36:59 +00:00
pooka
c9f53946a5 unused rumpuser_realpath is really dead 2009-10-24 11:29:55 +00:00
pooka
b762b305fb regen 2009-10-20 23:29:39 +00:00
pooka
cfc0373f49 rump_get_curlwp() is dead 2009-10-15 16:46:37 +00:00
pooka
c663ed2f3f regen: lwp interface changes 2009-10-15 16:40:15 +00:00
pooka
5a586117cf fix previous to make sense 2009-10-15 01:50:08 +00:00
pooka
466e9bcfec adjust for new rump_cpu 2009-10-15 01:35:23 +00:00
pooka
fcebdb26e0 Add prototype for wait operation variants which do not drop any
resources (because they should be holding any in the first place).
2009-10-15 00:33:37 +00:00
pooka
f1f3f36233 regen: scheduling points 2009-10-15 00:32:11 +00:00
pooka
000a197343 regen: scheduling points in rump_pub wrappers 2009-10-15 00:31:25 +00:00
pooka
d09e2773d0 "rumppriv" goes back to "rump" per internal interface naming change. 2009-10-14 18:18:53 +00:00
pooka
a6f92a2b8f regen: put all public interfaces created by ifspec into a rump_pub namespace 2009-10-14 18:16:41 +00:00
pooka
42972db848 Adjust rump sources for external/internal interfaces.
No functional change.
2009-10-14 17:29:19 +00:00
pooka
796b2444f2 generate rump local interfaces 2009-10-14 17:28:13 +00:00
pooka
ddc943db02 regen: fix rump varargs syscalls prototypes 2009-10-13 21:57:52 +00:00
pooka
5ac5a300e2 don't define curlwp, it's just (unused) sugar 2009-10-13 20:08:08 +00:00
pooka
8ac0fe74d9 add recvmsg and sendmsg to networking rump syscalls 2009-10-11 23:23:09 +00:00
pooka
d4069e2c5e Provide an interface for reboot. 2009-10-09 14:41:36 +00:00
pooka
d3da4377ca regen 2009-10-09 14:32:07 +00:00
pooka
4dd39169ff namespace RB_ from reboot.h 2009-10-09 14:31:47 +00:00
pooka
3398bac8f2 g/c some prehistoric interfaces which have been superceded by others. 2009-10-07 09:50:43 +00:00
pooka
61d1563c1b Allow to set size and host file offset for etfs files and rumpblk. 2009-10-07 09:17:54 +00:00
pooka
5290e6c820 Give a p2k node an internal state. This allows us to do proper
reference counting and not release nodes based just on puffs'
impression of if they are free.

This also allows us to reclaim vnodes already in inactive if the
file system so desires.  Some file systems, most notably ffs, change
file state already in inactive.  This could lead to a deadlock in
the middle of inactive and reclaim if some other puffs operation
was processed in between (as exposed by haad's open(at) test
program).

Also, properly thread the componentname from lookup to the actual
vnode operation.  This required the changes the rump componentname
routines.  Yes, the rename case is truly mindbogglingly disgusting.
Puke for yourself.
2009-10-06 16:23:03 +00:00
pooka
8de13bd4c6 regen: remove VNODE_LOCKDEBUG 2009-09-29 11:54:52 +00:00
dholland
e0ec0f8616 regen again (forgot both patches touched namei.h) 2009-09-27 17:24:31 +00:00
dholland
a3c0999baa regen 2009-09-27 17:21:22 +00:00
pooka
ca97c3aebc Load modules from all components which are linked into a rump binary
with -lrumpcomponent.  Previously only the first library component
containing a module would get loaded automatically.
2009-09-24 21:30:42 +00:00
pooka
79b1421a0b <sys/stdint.h> is a non-standard header, so include it only from
kernel code (where it will be included from the NetBSD kernel source
tree).  Use <stdint.h> in userland namespace, i.e. when compiling
librumpuser.
2009-09-21 15:29:36 +00:00
pooka
87afe0b831 add rumpuser_net_setsockopt() 2009-09-02 19:02:51 +00:00
pooka
eddab4e9bc * get rid of the old fakeblk registration interface. Instead,
introduce a new and improved "etfs" interface, which can be used
  to register host files accessible from rump fs namespace.  This
  new interface is not restriced to block devices, and neither does
  it require the same pathname in host namespace and rump namespace.
  Therefore, the same host file can be represented both as a char
  and block device in rump namespace.

* adjust rumpblk to make the above possible

* improve rumpfs: nodes are now created properly and not implicitly
  tied to the vnode lifecycle
2009-08-03 14:23:30 +00:00
pooka
22d6f86dee regen: fh syscalls 2009-07-21 23:59:19 +00:00
dholland
69b592eb0c regen 2009-06-29 05:03:12 +00:00
pooka
1c083dc02b Add rumpuser_dprintf(), which can be used as a "safe" debug print
routine -- the kernel printf does a lot of crud which is not always
nice and dandy especially when debugging locks.
2009-06-10 18:34:49 +00:00
pooka
c50e4e4fff add ioctl to list of compile-time translated calls 2009-05-26 15:44:35 +00:00
pooka
3f019758ec forward declare struct stat to avoid implicit header dependencies 2009-05-22 12:47:39 +00:00
pooka
aeedc12a43 Add compat routines for vattr translation over time_t change. 2009-05-22 10:51:54 +00:00