Commit Graph

814 Commits

Author SHA1 Message Date
pooka acd98b55f4 rootfstype is not a vfs stub, so it doesn't belong in vfs_stubs 2010-03-26 18:21:28 +00:00
pooka 1af4db65a0 define the incredible FLAWLESSCALL macro in one place 2010-03-25 19:54:19 +00:00
pooka ffc8ba1227 mfs miniroot is mandatory 2010-03-08 12:17:45 +00:00
pooka e5fc54d868 Use config pseudo-root keyword instead of monolithic configurations
starting from root.
2010-03-08 10:24:37 +00:00
pooka 2408ca4cf0 tweak previous to actually work 2010-03-07 16:55:44 +00:00
pooka b89595d78e pmf wants buf_syncwait() which is a part of optional vfs 2010-03-07 16:46:10 +00:00
pooka 52672c7e21 regen for rump_module interface change 2010-03-05 18:43:58 +00:00
pooka 23f0cd6bfb Use improved kernel module interfaces: instead of adding + loading
modules in bootstrap, just add them.  Load them later the same way
as the kernel does: module_init_class().

Change the signature of rump_module_init() to take a vector instead
of just one module.  All modules in a DSO should be init'd at the
same time because they might depend on each other, and code outside
the rump kernel cannot know which way.  (binary kernel modules are
still loaded with rump_sys_modctl() the usual way).
2010-03-05 18:41:46 +00:00
pooka 694d83c90b regen (for lfs syscalls #ifdef removal). 2010-03-05 09:00:26 +00:00
pooka 4f49fb9915 Don't generate unused fs_thefs.h headers. 2010-03-02 16:43:48 +00:00
pooka 510a73e003 Introduce RUMP_COMPONENT. It behaves mostly like a simplified
module which is linked into the kernel and cannot be unloaded.
The main purpose is to get the proper constructors run and create
any /dev nodes necessary for said component.  Once more of the
kernel (e.g. networking stack and device drivers) are converted to
MODULE and devfs pops up from somewhere, rump components can be
retired.
2010-03-01 13:12:19 +00:00
pooka 15022b379a "support" unmount of rumpfs 2010-03-01 13:03:30 +00:00
pooka e4791c2626 Add types for LWP_CREATE and LWP_EXIT rpc calls. Currently unimplemented. 2010-03-01 13:02:46 +00:00
pooka 566bdea883 Free memory in unmap instead of panicking.
(this is currently not very actively called, though, as can be seen
from the previous "implementation")
2010-03-01 13:01:16 +00:00
pooka bc4e423976 add signal stubs required by mfs 2010-03-01 11:35:58 +00:00
pooka 6e4a9f9133 librumpuser is not _KERNEL code and does not belong in sys. Move
the source files from src/sys/rump/librump/rumpuser to src/lib/librumpuser
(from where it is already built).  Even so, keep rumpuser.h in
sys/rump/include for kernel source tree self-containment.
2010-02-26 18:54:20 +00:00
pooka 5b02e50b03 Rename rumpuser_dl_module_bootstrap() to rumpuser_dl_bootstrap(),
since it hasn't been involved only with modules for quite a while now.
2010-02-26 15:23:20 +00:00
pooka 7775600816 Also, don't try to figure out the size of devices if size matters not. 2010-02-18 12:32:30 +00:00
pooka 88b1bf8a5e Allow NULL as size and file type pointers. 2010-02-18 12:21:28 +00:00
pooka 643ba90bf0 Globally define -Wno-pointer-sign, as it has become a pointless
exercise of "add it to every Makefile individually".

XXX: should autosynchronize with the rest of the kernel buildflags
in sys/conf/Makefile.kern.inc.
2010-02-16 20:42:44 +00:00
pooka 84e94fc428 Now that there is a working bus.h for all architectures, move rump
bus dma out of a wip place and into rumpdev where it belongs.
2010-02-09 18:57:03 +00:00
pooka 2f3605b79c Store l_name for kernel threads. 2010-02-09 16:53:13 +00:00
joerg d621e29eca Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
2010-02-08 19:02:25 +00:00
pooka 665d28b452 Convert to match current ioconf fashion. 2010-02-03 21:35:22 +00:00
pooka 6c9f003a76 Include newly-created subr_device.c and remove few special case
device accessor copypastes.  This makes it possible to link static
binaries which use -lrumpdev.
2010-01-31 15:12:42 +00:00
pooka 1fe7a9e1bb If RUMP_BLKSECTSHIFT is set in the environment, use that as
device sector size instead of DEV_BSHIFT.
2010-01-31 13:15:08 +00:00
pooka f91185803c Add sysmon rump component. 2010-01-31 03:06:59 +00:00
pooka 8844790318 include kern_hook.c 2010-01-31 02:08:36 +00:00
snj 58e4422c47 Some might argue that it is benefi_c_ial to spell words correctly. 2010-01-31 00:54:22 +00:00
pooka 2da39fecaa Typecast memwinsize to off_t before taking the complement to be
&'ed with an off_t.  Otherwise things go a bit wrong with >4GB
images ...
2010-01-27 22:03:11 +00:00
pooka 580ff1a88f ignore pmf threads if RUMP_THREADS == 0 2010-01-27 20:16:16 +00:00
pooka 51ebf87267 Set attached cpus as running, otherwise (evil) state-probing code
will not execute properly.
2010-01-25 18:37:51 +00:00
pooka fcad67762f Add bpf rump component (and put in some wscons stuff i forgot to earlier). 2010-01-19 22:38:21 +00:00
pooka b014350f7f Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client.  This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached.  However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff.  ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
2010-01-19 22:08:16 +00:00
pooka c3ac0e0ea8 move bpfilter.h to a more central location 2010-01-16 18:02:19 +00:00
pooka c396ac1512 Accomplish messy stack with slightly less messy code. 2010-01-15 20:39:46 +00:00
pooka e5bb7fe875 Use subr_percpu.c instead of homegrown implementation. ...except
when using malloc(3)-relegated allocators (happens in production
e.g. on Linux), since subr_percpu.c uses vmem and i don't want to
reimplement vmem.
2010-01-15 19:01:04 +00:00
pooka 065afcb61a Minimize unnecessary differences in rump. 2010-01-13 01:53:38 +00:00
pooka 8bb03ea96b Add a few symbols used by the tty code. 2010-01-13 01:18:51 +00:00
pooka a25612b2d0 If RUMP_VERBOSE is set in the env, set boothowto to AB_VERBOSE. 2010-01-13 00:07:40 +00:00
stacktic 1b7d9846f4 Fixed typo. 2010-01-11 19:19:57 +00:00
martin 693845d2c3 Add a new optional function device_register_post_config(), symmetric to
device register, called after config is done with a device.
Only used if an arch defines  __HAVE_DEVICE_REGISTER_POSTCONFIG.
2010-01-10 13:42:34 +00:00
pooka d52e469d3e pmf_init() 2010-01-09 16:32:57 +00:00
pooka 04d095d3c0 Include kern_pmf.c in rumpdev. 2010-01-09 16:29:32 +00:00
dyoung cd6e1fbf91 Expand PMF_FN_* macros. 2010-01-08 19:53:10 +00:00
elad 3313b745e3 allow rump to build 2009-12-25 01:56:43 +00:00
stacktic 5074dd48b8 Fixed build when using unreal allocators. 2009-12-23 17:16:40 +00:00
pooka d18276c5b5 Fix block device open for non-REG backends. 2009-12-22 14:18:33 +00:00
pooka 3a5d99a092 add comment about prospective perils to previous 2009-12-20 13:56:36 +00:00
pooka 3b2dd63c4d pthread_cond_timedwait (and therefore rumpuser_cv_timedwait) wants
an absolute time instead of a delta.  Fix bug which caused timed
tsleeps to always wake up immediately (unless the system clock was
around "0", which was not very probable ;).
2009-12-20 13:49:36 +00:00