Commit Graph

1067 Commits

Author SHA1 Message Date
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 303e90e2c8 Give this a makefile for easy rebuild of all the components when
the kernel ABI changes.
2009-11-11 13:54:54 +00:00
pooka 886a3cee40 init uvm readahead 2009-11-10 17:02:36 +00:00
pooka 054e6b6e93 Code which uses pages fetched by the pager needs PGO_SYNCIO for
obvious reasons.
2009-11-10 16:55:12 +00:00
pooka 644009f9cb Hash out soft interrupts to be a little closer to real softints:
* split them into levels
  * allow only one per level to be active at a time
  * fire softints only when we are unscheduling from a CPU instead
    of immediately in softint_schedule().  this will later morph
    into return from interrupt, but that part isn't done yet.
2009-11-09 19:16:18 +00:00
pooka 19cde6b50d adjust comment for previous 2009-11-09 19:02:49 +00:00
pooka 1029997ffd set LP_INTR for KTHREAD_INTR 2009-11-09 19:00:52 +00:00
pooka f1be958892 Add scheduling points around the iothread call to biodone() 2009-11-09 18:00:26 +00:00
nakayama 62117cce6e - make this compile on sparc.
- shrink blanks to fit in 80 columns.
2009-11-09 14:35:38 +00:00
dsl 26a8a91ded Fix stub prototype 2009-11-07 12:08:35 +00:00
pooka 3ad682caa6 Enable kernel kmem/vmem/pool/pool_cache by default again instead
of malloc(3) allocators.
2009-11-06 16:16:59 +00:00
pooka 83a2f995b9 In case a temp thread is exiting, borrow lwp0 for the respective
kmem_free().
2009-11-06 16:15:16 +00:00
pooka 9d391c932b account creds for processes, not lwp's 2009-11-06 15:22:33 +00:00
pooka 6abd8e3cdf lie that we are never in a softintr (i.e. add stub) 2009-11-06 15:22:16 +00:00
pooka f5b3a079d0 Loop over dso list while loading succeeds (brute force dependency handling). 2009-11-05 14:13:03 +00:00
pooka 2a244b850d enqueue loaded modules and prevent duplicates 2009-11-05 14:10:53 +00:00
pooka 947f23c334 Pull all relegating memory allocators under a common roof in memalloc.c
(forgot to commit the new file)
2009-11-04 20:38:58 +00:00
pooka d502da58ec misc_stub and emul have been the same thing for a looong time now,
so just move the few remaining routines in misc_stub to emul.
2009-11-04 19:21:51 +00:00
pooka c03306bc0d Give the kthread->pthread interface emulation its own module. 2009-11-04 19:17:53 +00:00
pooka 8ec96b27ff trim trailing whitespace 2009-11-04 18:27:40 +00:00
pooka 8ef52102c2 Pull all relegating memory allocators under a common roof in memalloc.c 2009-11-04 18:25:36 +00:00
pooka 83dbe94e8b Implement yield()/preempt() now that there is a CPU scheduler. 2009-11-04 18:11:11 +00:00
pooka 080522e1ce move copy-related routines to their own module 2009-11-04 17:01:45 +00:00
pooka a69d555865 Use std. uiomove() & friends. 2009-11-04 16:55:20 +00:00
pooka 510038040b Use kern_mutex_obj.c directly instead of copypasting code. 2009-11-04 13:32:39 +00:00
pooka 332ad24cfd Weak aliazeize usermount_common_policy() to uncouple rumpkern
linkage from rumpvfs once again after the secmodel changes.
(temp solution, should find a better one)
2009-11-03 20:25:31 +00:00
pooka 652a56fde0 Reorder enough of lwp/cpu initialization to have enough context
for pool/kmem init to work again with the stock versions (as opposed
to rump malloc relegations).
2009-11-03 20:22:33 +00:00
pooka 341072b737 move module to SRCS where it logically belongs. no functional change. 2009-11-03 18:44:15 +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
rmind 10758cb0f9 Simplify pmap_remove() a little by avoiding pmap_do_remove() layer, since
possibility to skip wired mappings is not needed anymore.  Apart from that,
no functional differences are intended.
2009-10-22 19:50:55 +00:00
rmind 3e88e8e75c Sync rump with kernel changes. 2009-10-21 23:13:53 +00:00
rmind 40cf6f3659 Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code.  Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.
2009-10-21 21:11:57 +00:00
pooka 5a1b660dab use autogenerated prototype 2009-10-20 23:29:57 +00:00
pooka b762b305fb regen 2009-10-20 23:29:39 +00:00
pooka 693ea25ed2 add shmif_create 2009-10-20 23:28:50 +00:00
pooka 17e6aa2d7b printf -> rumpuser_dprintf
(can't use printf while holding spinlock)
2009-10-20 23:21:53 +00:00
tron 3ad0ebd5a8 Only allocate a "struct iovec" array from the healp if a reasonably sized
stack array isn't large enough.
2009-10-20 12:17:44 +00:00
pooka 0d29473b2c Actually, put uvm_readahead into rumpkern, since while it's
technically vfs stuff, sys_descrip depends on it and readahead
itself uses only the pager interface.
2009-10-20 10:42:41 +00:00
pooka 02a39de4a7 fix sign-compare warnings 2009-10-20 00:25:26 +00:00
pooka fe208f2f7a __weak_alias for uvm_readahead() since it's used also in sys_descrip.c 2009-10-19 22:35:11 +00:00
pooka 639268f462 remove stale uvm_readahead() stub 2009-10-19 22:31:47 +00:00
christos 32ec2634aa treat sun2 like the other losing platforms. 2009-10-19 22:07:29 +00:00
pooka c8d929f4fb add Arnaud's EuroBSDCon paper 2009-10-19 14:43:46 +00:00
tron 8cd44ca832 Avoid panic if a file system tries to write a chain of more than 32 mbuf-s
to a socket. This happens e.g. when copying large files to SMBFS.

Code reviewed by Antti Kantee.
2009-10-18 22:55:56 +00:00
pooka 9646a920b0 Clear PG_FAKE for pages we wrote to. This avoids paging in data
we already have (and the backend might not yet have) in cases where
fs_bshift > PAGE_SHIFT.
2009-10-18 00:41:09 +00:00
pooka a6085c2236 fix off-by-one in sanity check and bump lazy bum magic value 2009-10-17 20:35:52 +00:00
pooka 291f141ce9 for udp sockets crank snd/rcvbufsize to 64k 2009-10-16 23:17:46 +00:00
pooka afa1f603b7 In case of timeout, remember to remove ourselves from the sleep staleq. 2009-10-16 02:13:54 +00:00
pooka d0c17feb81 We have real pollsuck() now, so remove this, ahem, less-than-perfect one.
(XXX: only thing in the kernel using pollsuck is netsmb)
2009-10-16 00:16:32 +00:00
pooka 254ffabc38 Include sys_select.c for proper select()/poll() support. 2009-10-16 00:14:53 +00:00
pooka cc056ae92c include rumpcpu_generic 2009-10-15 23:42:40 +00:00
pooka 2f6e67dfd6 When allocating the temporary lwp we must have an lwp context. So
take turns using lwp0 for this purpose, nothing else uses it.
2009-10-15 23:15:55 +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 8559951571 Give lwp usage some much-needed love: stop treating lwp0 as the
all-sink and make sure each separate thread in rump has its own
lwp.  Happy-go-lucky callers will get scheduled a temporary lwp
on entry, while true lwp connoisseurs may request a stable lwp
for their purposes.  Some more love may be required later down the
road, but for now different threads will stepping on each others
toes.
2009-10-15 16:39:22 +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 8c6bd3376a forgot to commit with previous batch 2009-10-15 01:29:06 +00:00
pooka 9bb1dbd8d7 rump_cpu is now a pointer 2009-10-15 00:34:05 +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 cd231d0604 Generate scheduling points in rump_pub calls. 2009-10-15 00:29:19 +00:00
pooka 9454f185c4 Add initial work on a rump virtual cpu scheduler. This is necessary
for kernel code which has been written to avoid MP contention by
using cpu-local storage (most prominently, select and pool_cache).

Instead of always assuming rump_cpu, the scheduler must now be run
(and unrun) on all entry points into rump.  Likewise, rumpuser
unruns and re-runs the scheduler around each potentially blocking
operation.  As an optimization, I modified some locking primitives
to try to get the lock without blocking before releasing the cpu.

Also, ltsleep was modified to assume that it is never called without
the biglock held and made to use the biglock as the sleep interlock.
Otherwise there is just too much drama with deadlocks.  If some
kernel code wants to call ltsleep without the biglock, then, *snif*,
it's no longer supported and rump and should be modified to support
newstyle locks anyway.
2009-10-15 00:28:46 +00:00
pooka 36f718311e whoops, restore probing of ugen{0..3} instead of just ugen2 2009-10-14 23:29:42 +00:00
pooka a9cd93a788 use rump_pub 2009-10-14 19:14:39 +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 abf164854c Actually, adjust previous a bit: instead of preserving the names
of the external interfaces and namespacing the internal ones to
"rumppriv", put the external ones in a "rump_pub" namespace.  While
this requires adjusting all of the external callers of these
interfaces, it is the right thing to do in the long run, since it
clarifies the structure.
2009-10-14 18:14:48 +00:00
pooka aa022ebd2b This wasn't supposed to go in -- the tree is under temporary
component boundary breakage.
2009-10-14 17:34:08 +00:00
pooka 8ca7f09f6e g/c some stuff which wasn't supposed to see the light of day 2009-10-14 17:30:52 +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 c1bfb8966b adjust whitespace a bit 2009-10-14 17:26:09 +00:00
pooka f2c144d595 Create rump public interfaces from description tables. This allows
us to control and wrap all entry points from "userspace" into rump.
This in turn is necessary for the upcoming rump cpu scheduler.

For each interface "foo" a public wrapper called "rump_foo" is
created.  It calls the internal implementation "rumppriv_foo".  In
case foo is to be called from inside of rump kernel space, the
private interface "rumppriv_foo" is used -- the userspace wrapper
prototypes are not even exported into the rump kernel namespace.
Needless to say, the rump kernel internal interfaces are not exported
for users.

Now, three classes of interfaces fight for control of rump:
  + the noble local control interfaces (which this commit addresses)
  + the insidious rump system calls (which are generated from syscalls.master)
  + and the evil vnode interfaces (which are generated from vnode_if.src)
2009-10-14 17:17:00 +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 b7f550b683 add one more passthrough 2009-10-13 18:36:48 +00:00
pooka c8c66517fe Bump iovec lazy bum magic value to 32: nfsd likes to write mbufs
with 17 per chain (previous i'm-too-lazy-for-my-forloop value was
of course 16).
2009-10-12 02:25:44 +00:00
pooka 8ac0fe74d9 add recvmsg and sendmsg to networking rump syscalls 2009-10-11 23:23:09 +00:00
pooka 7e9bd843aa Include host offset in regular etfs read/write operations (I can't
imagine it being particularly useful, but let's call file this
under POLA).
2009-10-11 18:12:51 +00:00
pooka 860f5d7238 Support creating file system sockets (non-sockets not supported in
VOP_CREATE since I don't want to have to write read/write support
for non-etfs files).
2009-10-11 17:54:22 +00:00
pooka fed1ab4ee0 raidframe works well enough now to initialize parity, so install it. 2009-10-11 11:26:40 +00:00
pooka 8d38112c32 add some stubs required by raidframe linkage 2009-10-10 21:10:04 +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 0111b794da Seems like module loading code is tasked with calling secmodel_register()
these days ...
2009-10-08 00:47:47 +00:00
pooka b15be8fcc2 remove extraneous call to secmodel_suser_start() 2009-10-08 00:36:56 +00:00
pooka 4ecb17968a dlclose() in error branch 2009-10-08 00:34:54 +00:00
pooka 366ae82927 Use uvm_readahead.c instead of null stubs. 2009-10-07 10:23:50 +00:00
pooka 2038fbfec8 use vref() for increasing reference count instead of homegrown brilliance 2009-10-07 09:55:35 +00:00
pooka 3398bac8f2 g/c some prehistoric interfaces which have been superceded by others. 2009-10-07 09:50:43 +00:00
pooka 9759195360 * set winsize to memwinsize in initial getwindow(). makes no functional
difference, but looks less like a debug hack leftover.
* explain memory windows vs. directio a little better in comment
2009-10-07 09:42:14 +00:00
pooka a8268fa583 space -> tab in one entry for consistency 2009-10-07 09:24:27 +00:00
pooka 788da19b0b do initial window allocation test at proper offsets 2009-10-07 09:23:03 +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 a373547b43 Use uint64_t instead of size_t for block device partition size.
from jak
2009-10-06 13:05:44 +00:00
pooka 0f0ad0a73d Build proper version for i386 (since it works) and dummy versions
for the rest until the disklabel MD problems get sorted out.
2009-10-06 09:12:47 +00:00
pooka 608e3170ea * support async transfers
* make it possible to abort transfers
(these are all cheap hacks, but make things work)
2009-10-05 13:00:37 +00:00
pooka 281623cb29 Call the pager with page-aligned offsets, 'cause that's what the
pager expects.  Fixes KASSERT failure if someone manages to do
otherwise.
2009-10-05 09:11:29 +00:00
pooka cd7abaf063 set l_cpu for lwp0 2009-10-05 09:09:29 +00:00
pooka 29b5e8e633 Attach sd to devsw and create /dev/sd0[a-h]. 2009-10-05 08:34:53 +00:00
pooka bc9ecc7b8b * pass a few write requests through to the device.
* drop async transfer requests on the floor (no, this does not make
  anything work, but it's the easiest way to prevent a receive pipe
  transfer request from hanging everything.  one tiny bugstep at a time ...)
2009-10-04 17:46:58 +00:00
pooka 8e5c2019ed Fix hopefully the last deadlock in the wretched piece of code:
since ltsleep abuses "while (!mutex_tryenter()) continue;" for NOT
releasing the kernel biglock before sleeping, we cannot do a normal
mutex_enter() in the wakeup path, or otherwise we might be a
situation where the sleeper holds the kernel lock and wants the
sleepermutex (and will not back down) and the wakeupper holds the
sleepermutex and wants the kernel lock.  So introduce kernel lock
backdown to the wakeup path.
2009-10-04 17:40:34 +00:00
pooka 9dbaa03ccb Implement RUMP_ETFS_REG. Usable e.g. by firmload(9).
(well, it should probably be RUMP_ETFS_PATH, but simple things first)
2009-10-04 16:31:08 +00:00
pooka 8ec501e110 Include firmload. Although it may be used by devices, it's pure
vfs in nature, and therefore it belongs here (can't load a firmware
from a file system without file system support, right?).  Rename
rump_cwdi to cwdi0, since firmload depends on that name (naughty
firmload).
2009-10-04 13:29:36 +00:00
pooka a346a8ca77 Initialize suckets before domains since some domains install timers
which take softnet_lock and might run before the lock is actually
initialized.  Also, soinit() itself already calls soinit2(), so no
need to call it twice.
2009-10-04 13:24:58 +00:00
pooka 6e184706c2 Pass some requests to the device. Hi ho, required for rum. 2009-10-04 10:44:31 +00:00
pooka 4712dfb73d Support rum@usb. Currently manages to configure and attach:
pain-rustique:66:~> ./rumpusbprobe
mainbus0 (root)
rumpusbhc2 at mainbus0
usb0 at rumpusbhc2: USB revision 2.0
uhub0 at usb0: vendor 0x0000 product 0x0000, class 9/0, rev 0.00/0.00, addr 1
rum0 at uhub0 port 1
rum0: D-Link DWA-111, rev 2.00/0.01, addr 2
rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, address 00:24:01:31:98:9a
rum0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
rum0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
2009-10-04 10:43:03 +00:00
pooka 3e8421a27d Support net80211 in rump (for wireless device drivers, therefore in "dev") 2009-10-04 10:40:40 +00:00
christos c9bb67bb7b Need proc_uidmatch 2009-10-03 22:55:48 +00:00
pooka a611f250f5 Report the root hub as self-powered. Works better when attaching
power-hungry devices.
2009-10-03 20:46:49 +00:00
pooka 8d655ed84b probe and attach ugen0 through ugen3 2009-10-03 19:07:33 +00:00
pooka cbdc6e568f pass unit number in mainbus attach args 2009-10-03 19:06:35 +00:00
elad 53ca19a3b3 First part of secmodel cleanup and other misc. changes:
- Separate the suser part of the bsd44 secmodel into its own secmodel
    and directory, pending even more cleanups. For revision history
    purposes, the original location of the files was

        src/sys/secmodel/bsd44/secmodel_bsd44_suser.c
        src/sys/secmodel/bsd44/suser.h

  - Add a man-page for secmodel_suser(9) and update the one for
    secmodel_bsd44(9).

  - Add a "secmodel" module class and use it. Userland program and
    documentation updated.

  - Manage secmodel count (nsecmodels) through the module framework.
    This eliminates the need for secmodel_{,de}register() calls in
    secmodel code.

  - Prepare for secmodel modularization by adding relevant module bits.
    The secmodels don't allow auto unload. The bsd44 secmodel depends
    on the suser and securelevel secmodels. The overlay secmodel depends
    on the bsd44 secmodel. As the module class is only cosmetic, and to
    prevent ambiguity, the bsd44 and overlay secmodels are prefixed with
    "secmodel_".

  - Adapt the overlay secmodel to recent changes (mainly vnode scope).

  - Stop using link-sets for the sysctl node(s) creation.

  - Keep sysctl variables under nodes of their relevant secmodels. In
    other words, don't create duplicates for the suser/securelevel
    secmodels under the bsd44 secmodel, as the latter is merely used
    for "grouping".

  - For the suser and securelevel secmodels, "advertise presence" in
    relevant sysctl nodes (sysctl.security.models.{suser,securelevel}).

  - Get rid of the LKM preprocessor stuff.

  - As secmodels are now modules, there's no need for an explicit call
    to secmodel_start(); it's handled by the module framework. That
    said, the module framework was adjusted to properly load secmodels
    early during system startup.

  - Adapt rump to changes: Instead of using empty stubs for securelevel,
    simply use the suser secmodel. Also replace secmodel_start() with a
    call to secmodel_suser_start().

  - 5.99.20.

Testing was done on i386 ("release" build). Spearated module_init()
changes were tested on sparc and sparc64 as well by martin@ (thanks!).

Mailing list reference:

	http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html
2009-10-02 18:50:12 +00:00
pooka 93992109b3 Include humanize and extent support in rumpkern. 2009-10-02 15:51:26 +00:00
pooka 713aaa79d5 Checkpoint rump usb host controller implementation. It's pretty
barebones, but manages to succesfully probe and attach the two USB
memory sticks I own.  (I don't own much USB junk, *hint hint*)

"dmesg":
pain-rustique:50:~> ./rumpusbprobe
mainbus0 (root)
rumpusbhc0 at mainbus0
usb0 at rumpusbhc0: USB revision 2.0
uhub0 at usb0: vendor 0x0000 product 0x0000, class 9/0, rev 0.00/0.00, addr 1
umass0 at uhub0 port 1 configuration 1 interface 0
umass0: vendor 0x1221 product 0x3234, rev 2.00/0.00, addr 2
scsibus0 at umass0: 2 targets, 1 lun per target
sd0 at scsibus0 target 0 lun 0: <USB2.0, Flash Disk, 2.20> disk removable
sd0: fabricating a geometry
sd0: 2023 MB, 2023 cyl, 64 head, 32 sec, 512 bytes/sect x 4143104 sectors

[switch the other stick in]

pain-rustique:51:~> ./rumpusbprobe
mainbus0 (root)
rumpusbhc0 at mainbus0
usb0 at rumpusbhc0: USB revision 2.0
uhub0 at usb0: vendor 0x0000 product 0x0000, class 9/0, rev 0.00/0.00, addr 1
umass0 at uhub0 port 1 configuration 1 interface 0
umass0: Kingston Technology product 0x1603, rev 2.00/2.00, addr 2
scsibus0 at umass0: 2 targets, 1 lun per target
sd0 at scsibus0 target 0 lun 0: <Kingston, DataTraveler 2.0, 1.00> disk removable
sd0: fabricating a geometry
sd0: 974 MB, 974 cyl, 64 head, 32 sec, 512 bytes/sect x 1994752 sectors
pain-rustique:52:~>
2009-10-02 15:35:46 +00:00
pooka ee5f440732 include usbroothub_subr.c 2009-10-02 12:41:38 +00:00
pooka 9b32227de9 Hold on to your giantlocks while calling device autoconfusion. 2009-10-02 11:01:53 +00:00
pooka fb39ec98d5 panic if cv_wait() is called in non-threaded mode 2009-10-02 09:56:08 +00:00
pooka f9a183b5d6 Checkpoint some work-in-progress for USB support in rump (currently
with limited scsi@umass support).  However, not useful for anything
before I get the ugen-to-rump usb host controller cleaned up and
checkpointed.
2009-10-01 21:46:30 +00:00
pooka 73ad6a8b6e add a new init-related calls 2009-10-01 21:43:29 +00:00
pooka 5ef3483b17 children of mainbus, attach (well, one child, iff it happens to be around) 2009-10-01 15:21:38 +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 dedb61e364 remove a no longer necessary hack 2009-09-24 21:00:09 +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 9b040bc3a9 Split config_init() into config_init() and config_init_mi() to help
platforms which want to call config_init() very early in the boot.
2009-09-21 12:14:46 +00:00
pooka eeb94c804f attach mainbus 2009-09-20 23:16:09 +00:00
pooka dfd2ba19ba default to AB_SILENT 2009-09-20 23:02:31 +00:00
pooka 64d32972db arrr, implement softint_disestablish(). this code be needin' an enema, matey. 2009-09-19 14:18:01 +00:00
pooka 159d9b46b8 vax macro magic requires Sysmap (untested).
XXX: I should add the blanket userspace pmap back for vax, its
pmap.h just has too many inlines and macros for this to ever work.
2009-09-18 18:31:53 +00:00
pooka 11281f01a0 Replace a large number of link set based sysctl node creations with
calls from subsystem constructors.  Benefits both future kernel
modules and rump.

no change to sysctl nodes on i386/MONOLITHIC & build tested i386/ALL
2009-09-16 15:23:04 +00:00
pooka 4b1eb92699 include init_sysctl_base.c 2009-09-16 15:10:23 +00:00
pooka d04c4fc891 call ifinit{,1}() 2009-09-16 15:08:53 +00:00
pooka 66f04a7703 create interfaces only after ifnef is initialized 2009-09-16 13:30:41 +00:00
pooka 4f50c4bce3 work around tap bug: if /dev/tap<n> was previously non-blocking, newly
opened fd's will also be non-blocking.
(yeayea, i'll fix the kernel some day, but I don't want to reboot
my host OS now)
2009-09-16 13:29:42 +00:00
degroote 2d48ac808c Import pfsync support from OpenBSD 4.2
Pfsync interface exposes change in the pf(4) over a pseudo-interface, and can
be used to synchronise different pf.

This work was part of my 2009 GSoC

No objection on tech-net@
2009-09-14 10:36:48 +00:00
pooka 48b3a6f7a3 binutils 2.19 has changed the old behaviour of defining __start_SECTNAME
for orphaned sections to using PROVIDE.  What this means is that
unless a rump component internally references that symbol, it will
not be included in the component shared library, and hence cannot
be referenced when the component is loaded.  Add a workaround which
works both with 2.16 and 2.19: force a reference to the __start
symbol internally and hence retain it in the resulting library.
2009-09-13 22:51:41 +00:00
pooka f27984527b call prop_kern_init() 2009-09-13 19:09:13 +00:00
pooka a06e4d63b8 remove pool link set attach code 2009-09-13 19:07:18 +00:00
pooka 4aaa6d0b91 librumpdev_disk doesn't compile on a lot of platforms, so replace
it with a dummy for now until I can work out the problems (nothing
in-tree links against it yet).
2009-09-11 19:01:08 +00:00