Commit Graph

2420 Commits

Author SHA1 Message Date
pooka
e1b9adcc58 Make sleepq_wake() type void. The return value hasn't been used in
almost 6 years.  Even if it were, returning an arbitrary lwp is a bit
of a wonky interface and can really work only when expected == 1.
2014-04-24 12:04:28 +00:00
pooka
80733d752e in sleepq_wake(), honor the "expected" parameter 2014-04-24 11:56:11 +00:00
pooka
d6454414fd Add a RUMP_USE_CTOR compile-time switch. If defined, use
__attribute__((constructor)) to determine which rump kernel components
and kernel modules are linked into the rump kernel.  If not defined
(default), use the regular approach with link sets.

This option is aimed to fix problems with toolchains where using link
sets is not possible because the linker does not generate the requisite
__start/__stop symbols for the link set sections (e.g. GNU gold, OS X, ...).
2014-04-23 23:25:45 +00:00
pooka
afbb108620 domains are attached by module(-like) constructors, so no need to
play link_set games with them.
2014-04-23 17:05:18 +00:00
pooka
ee62fa6483 Include LIST_ENTRY() in "struct rump_component".
Main benefit: rump_component_load() can now be called from an
early-running constructor since the routine doesn't need to allocate
memory.
2014-04-23 16:17:55 +00:00
pooka
ad5b64f98f Reparent children of a dying lwproc. Fixes wpa_supplicant -B (and
most likely a bunch of other things).
2014-04-16 22:34:02 +00:00
pooka
db08ffef5a update to new pci_intr_string() 2014-04-15 13:47:06 +00:00
pooka
e9c74271a7 add multi-inclusion protection 2014-04-15 13:41:46 +00:00
pooka
9426d42dd4 build hypercalls if RUMP_PCI_USER is defined 2014-04-14 23:53:42 +00:00
pooka
d1e65a1e3d fix typo 2014-04-14 22:56:53 +00:00
pooka
5145f215c7 * make it possible for rumpcomp_pci_intr_establish() to know which
device it's establishing the interrupt for
* make it possible to implement bus_dmamem_map() properly
2014-04-14 21:43:00 +00:00
pooka
540fe34fd1 add necessary -I for /dev/pci* creation 2014-04-14 21:36:22 +00:00
pooka
fcfbee3413 be even more explicit about handling only bus 0 2014-04-14 21:34:08 +00:00
pooka
5ce7a9bfb7 Add a vacookie to busdma_segment, for potential help with bus_dmamem_map() 2014-04-14 21:31:00 +00:00
pooka
360bbc64e4 add some sort of bus_space_barrier() 2014-04-13 15:43:26 +00:00
pooka
78921906eb create /dev/pci device nodes 2014-04-13 12:40:00 +00:00
pooka
4699345b2b apparently DFLSSIZ isn't defined on powerpc, so pull a value out of el stetson 2014-04-12 20:24:46 +00:00
pooka
26a5a77234 remove obfuscation macros 2014-04-11 01:03:08 +00:00
pooka
d672154267 Pretend that we have slightly more reasonable stack size limits.
(we don't have stacks, that's why we pretend)
2014-04-10 22:14:03 +00:00
pooka
ef453332be add aio driver as rump kernel component 2014-04-10 00:09:08 +00:00
pooka
885b424da9 regen 2014-04-09 23:57:26 +00:00
pooka
9c11b5da42 implement lwp_create() and a few related interfaces.
main raison d'impalerment: the aio driver
2014-04-09 23:53:36 +00:00
pooka
8866e45838 initialize exec_lock 2014-04-09 23:49:27 +00:00
pooka
697e0f1b0e Add a rump kernel component for the iwn wireless driver, tested with
the one in my laptop:
iwn0 at pci0 dev 19 function 0: vendor 0x8086 product 0x4237 (rev. 0x00)
2014-04-07 01:45:36 +00:00
njoly
b831ef2db2 Regen. 2014-04-04 18:25:41 +00:00
njoly
faf91a83de Add support for timing syscalls. 2014-04-04 18:24:12 +00:00
njoly
28bcf177dd Add compat 50 time syscalls, needed by rump sys_linux. 2014-04-04 18:20:28 +00:00
pooka
ca29f7cc9e Add PCI components, commented out from the default build for now. 2014-04-04 14:49:40 +00:00
pooka
0d262cbdb0 Add a rump kernel component that can attach if_wm @ pci 2014-04-04 14:49:09 +00:00
pooka
59246fadca Add a rump kernel component for mii support and phy drivers. 2014-04-04 14:18:19 +00:00
njoly
744fc7ad3b No lint for rumpnet npf library. 2014-04-04 13:57:33 +00:00
pooka
69955dae56 Add a rump kernel component for the PCI bus. It works both in Xen DomU
(via Xen's PCI passthrough) and Linux userspace (via uio_pci_generic).
2014-04-04 12:53:59 +00:00
pooka
bfb81d5f44 make tags and handles long 2014-04-04 12:25:45 +00:00
christos
478a0b6f59 provide cpu_bootconf() 2014-04-04 01:35:11 +00:00
pooka
271d5dd119 use if_initname() instead of homegrown sprintf 2014-04-02 19:44:15 +00:00
pooka
dc8f80f5c3 Put nanosleep() and folks in librump instead of maintaining them in
the separate rumpkern_time component.  Keeping time-related routines
elsewhere lead to some illogical behavior if you didn't think of linking
in rumpkern_time (hands up everyone who checks the return value of
nanosleep()).

Add warnings if rumpkern_time is linked or used.  I'll remove it in a
month or two instead of now since it was part of a buildrump.sh snapshot
and it's nicer if trying to use it gives a warning instead of an error
in the next snapshot.

"everything should be as modular as possible, but no more modular than that"
2014-04-02 19:37:17 +00:00
justin
95e41b89b5 Add Android support for rump kernel.
Reviewed by pooka@
2014-04-02 17:09:23 +00:00
christos
c1ae06abab kill sprintf 2014-03-20 20:42:08 +00:00
riastradh
6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
pooka
c310bd104c Trim alignment out of packet length before passing it up. 2014-03-18 18:10:08 +00:00
pooka
5102012c0e rename component.c -> md_component.c 2014-03-17 11:30:40 +00:00
pooka
85a5ecc11a Introduce RUMP_CURLWP compile option to select curlwp scheme.
Default is still "hypercall".
2014-03-16 15:31:03 +00:00
pooka
b6db800227 remove unnecesary verbosity: s/RUMP_CURLWP_MODEL/RUMP_CURLWP/ 2014-03-16 15:30:05 +00:00
pooka
6eb4d621cb note that it's a good idea to do a clean build if an option is changed 2014-03-16 14:47:47 +00:00
pooka
1e52cb3b60 document compile-time options for rump kernels 2014-03-16 14:33:22 +00:00
pooka
3ca2bbc18a fix tyop 2014-03-16 14:14:40 +00:00
pooka
8a0d17b921 Allow RUMP_LDSCRIPT itself to be used to specify which ldscript to use.
HAVE_SUN_LD will be deprecated in the future.
2014-03-16 14:02:06 +00:00
njoly
15c344842f When trying to extend a file, don't wait until the underlying memory
allocation succeed. Return ENOSPC upon failure.
2014-03-16 10:16:15 +00:00
dholland
a68f9396b6 Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
2014-03-16 05:20:22 +00:00
pooka
b31d33154d Use uniprocessor-optimized locking in RUMP_LOCKS_UP=yes (default: no) 2014-03-15 15:22:42 +00:00