Commit Graph

1178 Commits

Author SHA1 Message Date
pooka 91af2ab811 adjust more config files for files.rump move 2010-02-12 04:21:57 +00:00
pooka 955121353e move files.rump out of wip 2010-02-12 04:20:51 +00:00
pooka a733498944 Move a bunch of rump components from dev/wip to dev/lib now that
they've reached a certain maturity.
2010-02-11 02:22:09 +00:00
pooka 3b7d9c4fcb Add RUMP_SYS_FILEOPS for syscalls which operate on files (or at least
close to that).
2010-02-11 01:13:58 +00:00
pooka d444f29418 Rename rumpusbhc to ugenhc, as that better describes what it does.
(the full component name is rumpdev_ugenhc)
2010-02-10 02:26:23 +00:00
pooka ee03580145 The first step to having cd work is to remember to attach it and
go "devfs" on it.
2010-02-10 02:08:34 +00:00
pooka 93256256ef add cd@scsi and cd@atapi (untested. if you have a usb cd drive, let me know) 2010-02-09 19:02:19 +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 bd6771a8d0 * UR_CBI_ADSC ctrl req fails with EIO sometime for unknown reasons.
Let it instead of panicking.  Doesn't seem to affect functionality.
* process pipe queue only until it is empty
2010-02-09 18:27:17 +00:00
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
pooka 2f3605b79c Store l_name for kernel threads. 2010-02-09 16:53:13 +00:00
pooka a1e25c6e46 IOCONFIG comes from .CURDIR 2010-02-09 16:16:26 +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 9d22319fa9 Move the net80211 support component into the proper place in "net"
and install as rumpnet_net80211.
2010-02-05 22:01:38 +00:00
pooka f5b877c68d Put common stuff in a single file which can be included. 2010-02-04 00:37:08 +00:00
pooka 665d28b452 Convert to match current ioconf fashion. 2010-02-03 21:35:22 +00:00
pooka c192756108 Convert to ioconf new world order: define attachments using config(1)
grammar instead of wildly copypasted, hand-edited and glue-sniffed
C files.
2010-02-03 21:18:38 +00:00
pooka b68d6b80c0 add a rule for locators.h too 2010-02-03 21:15:39 +00:00
pooka 61cce04cfe If IOCONFIG is defined, autogenerate ioconf.c and locators.h
from ${IOCONFIG}.
2010-02-03 21:11:24 +00:00
pooka 3cf97d3909 one more request type to pass through (seriously, i'll make it pass
all of them through very soon.  just want to debug a little more)
2010-02-03 18:14:56 +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 5412e3f097 Make (no pun intended) it possible to perform component symbol
protection from a shell prompt with the command line:

    make -f /sys/rump/Makefile RUMP_SYMREN=module.kobj

This is benefitial especially on i386, where rump ABI matches the
kernel ABI (sans the renaming isolation).  In the above example
module.kobj can then be loaded in a rump kernel either statically
at link-time simply by giving module.kobj as an object to the
linker, or dynamically at runtime by calling rump_sys_modctl(MODCTL_LOAD).
2010-01-31 00:38:36 +00:00
pooka edbb5bb953 no longer used 2010-01-30 05:09:24 +00:00
pooka ffdaceb3e7 * add comment explaining why we randomize the last source ip octet
* fix bug in randomization (well, at least with the current configuration ..)
2010-01-29 12:34:17 +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
martti 40b313cfaa Use tabs instead of 8 spaces. 2010-01-27 13:30:45 +00:00
pooka c52d5453ad support bpf from sockin too (i.e. DLT_NULL/AF_UNSPEC) 2010-01-26 17:52:21 +00:00
pooka ac4d3e46b5 let attach via module space 2010-01-26 17:50:02 +00:00
pooka 3694a1482e support bpf 2010-01-26 17:41:20 +00:00
pooka daa3b2e4c7 need rumpvfs for etfs_register() and sys_mknod() 2010-01-25 22:26:19 +00:00
pooka d70c91c8de In case opening /dev/bpf fails, try to load bpf kmod and try again. 2010-01-25 22:25:38 +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 89a3fc440c Add components necessary for bpf support (commented out just for
the sheer heck of it).
2010-01-19 22:47:46 +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 23a987d2a2 Make build with PF_INET-is-the-"NIC" support again. 2010-01-19 17:51:03 +00:00
pooka fe3e79c05a * add option to use bpf to dump response
* randomize local address to avoid poor confused peers due to us
  "rebooting" quite rapidly when testing.
2010-01-16 20:47:01 +00:00
pooka c3ac0e0ea8 move bpfilter.h to a more central location 2010-01-16 18:02:19 +00:00
pooka 29ca934b44 support bpf 2010-01-16 17:55:50 +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 435aa34303 print mbuf statistics a few times. incidentally, can be used to
test percpu.
2010-01-15 18:38:16 +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 e0714677a2 cgd is attached via the module interface now instead of pseudodevs. 2010-01-13 00:31:57 +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
pooka 2d1ed1666f decend into ums, ukbd and wscons 2010-01-11 02:15:38 +00:00
pooka 6a31202221 Support ums (usb mouse) and ukbd (usb keyboard) drivers in rump.
(both components include tty support and uhid currently.  they should
be split out to separate ones.  i'll do that soon'ish).
2010-01-11 02:15:20 +00:00
pooka 20d948900e Add wscons rump component. 2010-01-11 02:12:51 +00:00
pooka 4f48ec16a6 Add a simple hack to make interrupt pipes work (can't close them
yet ... except with SIGINT.  "muah").
2010-01-10 22:13:18 +00:00
pooka c73aaa6bc2 pass a few more requests through to ugen 2010-01-10 21:30:16 +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 f3ec34d58f Fixed ukfs build on non-NetBSD system. 2009-12-23 17:17:59 +00:00
stacktic 5074dd48b8 Fixed build when using unreal allocators. 2009-12-23 17:16:40 +00:00
pooka e1bbdeb452 regen: INRENAME 2009-12-23 01:09:57 +00:00
pooka d18276c5b5 Fix block device open for non-REG backends. 2009-12-22 14:18:33 +00:00
pooka c5aba687b9 Create sashimi nodes too. 2009-12-22 13:34:35 +00:00
pooka a942008121 Include tty driver here for now to make this usable. Will disappear
from here later when I figure out the proper place.
(I'd commit it as a separate component, but I can't figure out how
to classify it, since it's logically none of vfs/net/dev)
2009-12-20 19:44:21 +00:00
pooka 70b07cba47 +libulpt 2009-12-20 15:43:57 +00:00
pooka fe1700b9bf Add ucom@usb support. This uses the uplcom hardware driver currently
(because that's the hardware I happen to have), but others can just
be plugged in if a need arises.
2009-12-20 15:43:13 +00:00
pooka 2960de1123 Improve bulk transfer implementation by adding more complete
support for short reads.

Ironically, in some cases this works *worse* than the previous
incorrect implementation which silently ignored short reads.
Namely, I can now probe my sd@umass USB stick only once without
having to replug it.  Some ugen "bus reset" is probably needed,
but what exactly is unknown, and manual handjobs will have to
suffice for now.
2009-12-20 15:32:46 +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
pooka c3ed0371c2 Replace totally handwritten ioconf.c with only a semi handwritten
one, partially now generated with config(1).
2009-12-19 11:55:23 +00:00
pooka af0de61919 get rid of unnecessary headers 2009-12-19 11:48:30 +00:00
pooka 13d2acdf04 define USBVERBOSE 2009-12-19 11:48:17 +00:00
pooka b90ec0f9fd purge some stuff not used by this component anymore 2009-12-19 11:29:26 +00:00
pooka 33d0c9ec96 I got a report about this not compiling on mips64. While I could
not repeat the problem and while this should not be used at all on
mips64, the real fix is a little diablo in the details.  So hack
around it for now (yes, it results in only half of the locks being
used on 64bit platforms.  no biggie for a hack).
2009-12-18 22:37:18 +00:00
pooka e7951bb626 Add devnull.c to sources (forgot to do it yesterday).
Thanks to gson for the ping.
2009-12-17 12:49:22 +00:00
pooka f8bc172f73 * implement rump_vfs_makeonedevnode(), where the interface for creating
multiple nodes doesn't make sense: e.g. /dev/null would've had to
  be created with ("/dev/nul", 'l', 1)
* implement said /dev/null (just for show)
2009-12-17 00:29:46 +00:00
pooka 1ff647bdce update to newnewvers.sh usage 2009-12-16 21:25:55 +00:00
pooka 4304733e2c print spammy banner in spammy bootstrap 2009-12-16 20:59:04 +00:00
pooka 590ffe150c Generate vers.c and include it in the kernel component. 2009-12-16 20:57:15 +00:00
pooka bea06e393f If zeroing len == 0, return immediately.
(kmem_alloc() doesn't like being called with size == 0)
2009-12-16 16:50:49 +00:00
pooka aef2ecc09f add component for usb printers (ulpt driver) 2009-12-15 15:52:30 +00:00
pooka 5f20163f32 Support more stuff, e.g. mapping alternate interface setting to the
correct ugen ioctl.
2009-12-15 15:50:37 +00:00
matt 9ca0818a05 Make librump play with mips nicely. Define ARCH_ELFSIZE for mips to be 32.
This works for N64 kernels because objcopy them to be 32bit to the bootloaders
can handle them.
2009-12-14 21:19:23 +00:00
mrg f7f0bc40ae rename LD32DIR to MLIBDIR. 2009-12-13 08:25:20 +00:00
pooka fbc989bbef Use linker script to make __start/stop_link_set_modules be present
in libs built with binutils >=2.19.  This is a less error-prone
method than the previous where components had to be tagged in the
Makefile as modules (and if they weren't, things broke.  and vice
versa).
2009-12-12 17:10:19 +00:00
pooka eede817dfd Include component.c instead of dummy.c so that domain constructors
get properly called.
2009-12-11 16:34:50 +00:00
pooka 72a8c45e4b Since rumpfs is no longer a module, remove rump_module from the
list of sources.  This, in a rather curious twist of linker magic,
broke anything using rump file systems when librumpvfs was compiled
with LIBDPLIBS pointing to librump.

Thanks to the several people who reported the problem, and especially
Arnaud Ysmal for noticing the paramount symptom that components
compiled in src/lib did not work while ones compiled in sys/rump/librump
did work.
2009-12-09 15:38:07 +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 7f79b0fadd Get rid of useless stubs. 2009-12-09 00:11:21 +00:00
stacktic 4d23b928bc Whitespace. 2009-12-08 08:18:24 +00:00
stacktic f3098800b6 Fixed build without module bootstrap 2009-12-08 08:12:49 +00:00
pooka 32a3b13698 add comment 2009-12-07 17:38:16 +00:00
pooka 09aa8689fb Cast Oh Kath Ra once every second. 2009-12-05 22:44:08 +00:00
pooka 22d9f346a1 Remove now-empty rump_sleepers_init() 2009-12-05 13:01:31 +00:00
pooka 630dc3f64a KERNEL_UNLOCK_LAST in non-mpsafe kthread exit. 2009-12-05 12:54:11 +00:00
haad 1d798011f9 Add initial version of RUMP based device-mapper port. libdm compile whole
device-mapper driver in userspace and allows us to test a develop new dm targets
in userspace.
2009-12-04 22:13:59 +00:00