Commit Graph

1178 Commits

Author SHA1 Message Date
pooka 9a12bbeba5 Include bthub support.
As mario knows, it should be in another component, but just cram
it here for now until someone solves kernel module dependencies
for us.
2010-03-22 14:47:02 +00:00
pooka 9a702d8fe4 USB bluetooth device rump component.
This is a curious driver in the sense that unlike all other current
device drivers, it does not require vfs.  This is because the driver
is controlled via bluetooth, which is controlled via PF_BLUETOOTH
sockets (as opposed to a /dev node).
2010-03-22 12:14:51 +00:00
pooka 5f0c4c358e bluetooth stack component for rump 2010-03-22 12:08:44 +00:00
pooka e0010d2a0e * support isochronous transfers (for as much as they can be supported
considering our ugen driver doesn't support isochronous write.
  kern/25960 seems to contain a patch and could be investigated for that)
* add a dirty rotten hack which makes interrupt transfers of >16
  work for me
2010-03-22 12:05:45 +00:00
mrg eeea16608f add + _SYMQUIRK='|\.(rump|RUMP)' for powerpc64, as recommended by pooka.
it gets rid of many of the warnings trying to link rump_cd9960, but
there are a bunch remaining.  atomic ops seem missing, and some ktrace
points.
2010-03-22 05:39:00 +00:00
pooka 40bb87a667 Move make snippets for use with config(1) ioconf functionality from
rump into share/mk.  This is to make it useful for all kernel
builders.

Note: we have waaay too many weird and wonderful ways of making
kernel code (monolithic kernel, modules, rump).  There should be
only one way to build kernel code instead of a maze of twisty little
.mk files, all not quite alike.  When that is fixed, this snippet can go
into the more generic .mk file.
2010-03-21 06:55:44 +00:00
pooka ce24d5b7db attempt to know my a-b-c's 2010-03-08 12:30:04 +00:00
pooka f50cf92e3a support mfs 2010-03-08 12:29:01 +00:00
pooka ffc8ba1227 mfs miniroot is mandatory 2010-03-08 12:17:45 +00:00
pooka 57959b3859 Convert to pseudo-root.
These can be moved out of wip (once I get some time).
2010-03-08 10:57:25 +00:00
pooka 9ca7991252 need -Irumpkern for RUMP_COMPONENT 2010-03-08 10:56:12 +00:00
pooka 38516f3ec5 convert to ioconf & pseudo-root 2010-03-08 10:54:21 +00:00
pooka d5184dc0e0 Update minimum to make compile. i don't have the hardware anymore,
so i can't test other changes.
2010-03-08 10:36:10 +00:00
pooka 1590160e06 convert to ioconf/pseudo-root 2010-03-08 10:30:17 +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 6ee30969d0 Make rump devfs expose ttyU1 and dtyU1 as well. 2010-03-07 17:44:40 +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 c2efc59235 During bootstrap, process all modinfos in a DSO in one go. Get
rid of dependency tricks, since they are no longer necessary.
2010-03-05 18:47:49 +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 dd0604d344 Reflect removal of fs_nfs.h and -DNFS 2010-03-02 23:37:16 +00:00
pooka 4f49fb9915 Don't generate unused fs_thefs.h headers. 2010-03-02 16:43:48 +00:00
pooka 5a03797ea6 While I like redundant computing, specifying each option just once
is generally enough.
2010-03-02 11:29:04 +00:00
pooka 89e1ba2569 Rename IOCONFIG to IOCONF. It matches the config(1) keyword and
aligns better in Makefiles.
2010-03-01 15:41:15 +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 0bd00d250f add u3g 2010-03-01 11:34:27 +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 1142233da6 Expose rump_schedule() and rump_unschedule(). These can be used
for wrapping application space calls to the rump kernel without
having to do heavyweight interface specification with ifspec.
2010-02-24 14:56:04 +00:00
pooka 546515e65b * abort correct endpoint in bulk xfers
* actually free memory in the freem method (well, usually stick
  it to the usb freelist, but same thing)
2010-02-23 14:05:04 +00:00
pooka da9a2c25a9 * get UDESC_CONFIG for proper config index
* support UR_SET_CONFIG for root hub
* set port change bits for root hub interrupts
+ cosmetics
2010-02-22 14:47:40 +00:00
pooka 91f03c22e5 Fix snafu with error reporting in bulk transfers. 2010-02-20 13:56:29 +00:00
pooka 0569cd0d25 Don't leak control endpoint descriptors. 2010-02-18 16:24:19 +00:00
pooka 35e8f16689 Actually, detach is possible enough if the device isn't in use.
So just support it.
2010-02-18 16:13:30 +00:00
pooka a798dc1e14 Change match to be based on the existence of the ugen device node
and signal the root hub interrupt only once we are succesfully able
to open the device node.  This makes it possible to insert a device
after the rump kernel was booted and have it succesfully attach
(does not make detach possible yet, though, as there are some
ugen and host kernel uhci/ohci/ehci evil crashies with that).

XXX: optimally, match would fail if there is a permanent error in
opening.  However, it is difficult to figure out the difference
between the device backing ugen not being present, a transient
error in opening and a permanent error in opening.  For example,
which of the latter two would EPERM be?  And, ugen returns ENXIO
if the device is not present, but how would be know that's really
the case and not some other ENXIO from elsewhere in the stack?
2010-02-18 15:25:13 +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 d97a943f37 Support SCSIVERBOSE. 2010-02-17 20:44:34 +00:00
pooka 80b0497c2e * allow one more request
* print warning if a request which might fail, fails
* report error from bulk transfers
2010-02-17 20:39:53 +00:00
pooka 35257440bd Invert inverted comment and verbosify it. 2010-02-17 13:28:40 +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 97fada1858 remove -D__NetBSD__ (it's done globally now) 2010-02-16 20:34:03 +00:00
pooka bd84a040a4 Add missing public members of bus_dmamap_t per interface specification
(nothing uses them here for now, so untested).
2010-02-13 03:19:46 +00:00
pooka 8b36ef683b I forgot I didn't fix kern/40505 yet, and hence using delay()/DELAY()
in rumps is hard due to some archs having a colorful idea of what
they should be like.  So temporarily disable build of components
using those for non-i386 (use the no-need-to-mess-with-setlists
approach).
2010-02-12 12:07:12 +00:00