Commit Graph

169 Commits

Author SHA1 Message Date
pgoyette
f496b70ec7 Undo previous - it still needs a lot more work.
For now, we'll use the hand-crafted cf* structures and directly
call all the config routines.
2014-02-03 23:11:40 +00:00
pgoyette
a9062aa8b9 Use ioconf file to generate config data structures 2014-01-31 18:13:01 +00:00
pgoyette
aff4b3ca56 Don't bring in the zlib stuff at build time. This will get resolved
when the user starts the rump_server process.

OK pooka@
2014-01-16 14:12:09 +00:00
pgoyette
8409919195 Use existing rumpkern_z library rather than including another copy of
zlib.c
2014-01-16 02:38:20 +00:00
pgoyette
f8dd541c8b Remove explicit definition of COMPAT_50. As pointed out by pooka@,
this is already defined in Makefile.rump
2014-01-16 02:21:24 +00:00
pgoyette
ae263bb3de Link new opencrypto library into the build. 2014-01-14 17:17:52 +00:00
pgoyette
5e3ad7ff0e Add new rump library for opencrypto framework 2014-01-14 17:15:09 +00:00
pooka
67be9b8a43 Move the bus_dma implementation that works only with ugenhc into the
ugenhc component itself.
2013-09-19 17:55:22 +00:00
pooka
21d147878b allow pcibus to attach to a rump kernel mainbus 2013-09-17 00:50:19 +00:00
joerg
f9cf12b211 GC rumpusb_device_intr_methods. 2013-09-13 20:38:39 +00:00
pooka
6b86dfa7fa Some systems provide ioctl() via unistd.h
(not that this is going to work there, but at least we don't
get unnecessary compiler warnings)
2013-07-04 10:09:55 +00:00
pooka
be085dcd72 Translate error codes between the hypervisor and rump kernel. 2013-04-30 12:39:20 +00:00
pooka
32a34307fa Make hypercall calling conventions consistent: iff a hypercall can fail,
it returns an int containing the error value.
2013-04-30 00:03:52 +00:00
pooka
0dc3609e1c Reduce hypercalls related to reading to essentially an amalgamation
of readv and preadv.  ditto for writing.  Hypercalls are so seldomly
used that it doesn't justify 3x the calls for syntactic sugar.
2013-04-29 20:08:48 +00:00
christos
6f6539d46a don't compile the for kernel 2013-04-29 18:06:59 +00:00
pooka
6dace0b387 problem with ioconf.c solved, reenable 2013-04-28 10:25:41 +00:00
pooka
fbf1bd8cce need errno 2013-04-28 10:23:36 +00:00
pooka
284b8252f5 duh, the untypoed version doesn't work with bsd.ioconf.mk. comment it
out while i figure it out
2013-04-28 10:16:52 +00:00
pooka
6270e64d06 typo 2013-04-28 10:06:16 +00:00
pooka
b985b935c6 The ioctl hypercall is used only by the usb host controller driver,
so make it exclusive to that component.  I'm happy to see it gone.
2013-04-28 09:58:11 +00:00
pooka
ad13271887 create /dev/pad[0-3] instead of just /dev/pad 2013-04-04 11:28:02 +00:00
pooka
c074aab660 set correct include path 2013-04-04 01:48:19 +00:00
pooka
ee9522d98d create device nodes 2013-04-04 01:38:47 +00:00
pooka
5c2fd0be4f create /dev/putter device node in component attach 2013-04-04 01:33:53 +00:00
martin
5eb1c9da5a For the MMC GET_CONFIGURATION command, return a nulled feature header.
Fixes PR kern/47646.
2013-03-15 16:14:12 +00:00
pooka
28b73fbea0 In retrospect, putting bpf under the dev faction wasn't the smartest
thing to do (might have just as well put it under vfs).  It's maybe too
late to change the name/location, but at least make it attach as part
of net so that using bpf does not mandate linking in the dev faction.
2013-03-07 21:21:37 +00:00
chs
cbab9cadce split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
2012-10-27 17:17:22 +00:00
pooka
8b5f6f3669 Do not assume that O_FOO flags have matching values in the rump kernel
and hypervisor.
2012-09-14 16:29:21 +00:00
rmind
68f7a7bc54 Move and rename librumpdev_npf to librumpnet_npf. 2012-08-14 22:31:43 +00:00
rmind
a3b239f6f3 - Rework NPF tables and fix support for IPv6. Implement tree table type
using radix / Patricia tree.  Universal IPv4/IPv6 comparator for ptree(3)
  was contributed by Matt Thomas.
- NPF tables: update regression tests, improve npfctl(8) error messages.
- Fix few bugs when using kernel modules and handle module autounloader.
- Few other fixes and misc cleanups.
- Bump the version.
2012-07-15 00:22:58 +00:00
alnsn
2db61b9b19 Add missing $NetBSD$. 2012-06-24 17:28:09 +00:00
mrg
dc74fbbf85 merge the jmcneill-usbmp branch. many thanks to jared for the
initial work, and every one else who has tested things for me.
this is largely my fault at this point :-)

the main changes are something like:

        - usbd_bus_methods{} gains a get_lock() to enable the
          host controller to provide a lock for the USB code.
          if the lock isn't provided, old-style protection is
          (partially) applied.

        - ehci/ohci/uhci have been converted to the new
          interfaces, including mutex/cv/etc conversion.

        - usbdivar.h contains a discussion about locking and
          what locks are held for which method calls.  more
          to come for usbdi(9) here.

        - audio drivers (uaudio, umidi, auvitek) have been
          properly SMPified now that USB is ready.

        - scsi drivers have been modified to take the kernel
          lock explicitly before calling into scsi code.

        - usb pipes are associated with a lock, that is the
          same as the controller lock.  (this could be split
          up further in the future.)

        - several usbfoo_locked() or usbfoo_unlocked()
          functions have been added to the usbdi(9) to
          enable functionality with or without the USB
          lock (per controller) already being held.

the TODO.usbmp file has specific details on what is left to
do, including what device-specific changes should be done now
that the whole framework is ready.
2012-06-10 06:15:52 +00:00
rmind
fb07f475c0 npftest: add a stream processor, which prints out the TCP state information.
A tool for debugging connection tracking from tcpdump -w captured data.
2012-05-30 21:38:03 +00:00
martin
a8e0448e41 Revert previous and add a comment - I misunderstood what this code is
emulating.
2012-05-06 16:58:31 +00:00
martin
6dfd42c24f If we are not delivering a host iso file (USE_TOSI_ISO is undefined), use
-1 as file descriptor initially. The -2 value confused a few other checks
later and led to inconsistent "media present" reports.
2012-05-06 16:33:02 +00:00
rmind
16bec229c7 Update rumpdev_npf; use WARNS=4. 2012-04-14 19:01:21 +00:00
gson
92d7381de1 Fix cut-and-paste-os in panic messages 2012-04-10 13:45:07 +00:00
gson
d26e197d58 Fix obvious cut-and-paste-o in error message string 2012-03-11 13:14:04 +00:00
tls
7b0b7dedd9 Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code
   to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
   source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
   avoid expensive operations on disabled entropy sources; make the
   rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
   have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
   system events, and skew between clocks, with a sample implementation
   for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files).  Tested with release
builds on amd64 and evbarm and live testing on amd64.
2012-02-02 19:42:57 +00:00
apb
4309071985 Put the path to the compat/common directory in a .PATH line, not in
an element of the SRCS list.  This should fix a problem in which build
products were created in the source tree.

Also add a comment about where COMPAT_50 is defined.
2011-12-20 17:09:04 +00:00
apb
e48fd3a0e7 SRCS += ${.CURDIR}/../../../../compat/common/rndpseudo_50.c
to fix build errors like this:

DESTDIR/usr/lib/librumpdev_rnd.so: undefined reference to
`rumpns_compat_50_rnd_ioctl'
2011-12-19 21:56:18 +00:00
tls
6e1dd068e9 Separate /dev/random pseudodevice implemenation from kernel entropy pool
implementation.  Rewrite pseudodevice code to use cprng_strong(9).

The new pseudodevice is cloning, so each caller gets bits from a stream
generated with its own key.  Users of /dev/urandom get their generators
keyed on a "best effort" basis -- the kernel will rekey generators
whenever the entropy pool hits the high water mark -- while users of
/dev/random get their generators rekeyed every time key-length bits
are output.

The underlying cprng_strong API can use AES-256 or AES-128, but we use
AES-128 because of concerns about related-key attacks on AES-256.  This
improves performance (and reduces entropy pool depletion) significantly
for users of /dev/urandom but does cause users of /dev/random to rekey
twice as often.

Also fixes various bugs (including some missing locking and a reseed-counter
overflow in the CTR_DRBG code) found while testing this.

For long reads, this generator is approximately 20 times as fast as the
old generator (dd with bs=64K yields 53MB/sec on 2Ghz Core2 instead of
2.5MB/sec) and also uses a separate mutex per instance so concurrency
is greatly improved.  For reads of typical key sizes for modern
cryptosystems (16-32 bytes) performance is about the same as the old
code: a little better for 32 bytes, a little worse for 16 bytes.
2011-12-17 20:05:38 +00:00
matt
d8b60e6f0b Appease rump. 2011-06-10 00:32:52 +00:00
pooka
bf89b7ec3f actually add libpud and revert damage to libputter.
pax -rw and forgetting to rm -rf CVS has some nasty side-effects ....
2011-03-31 08:36:25 +00:00
pooka
fe98957153 add pud as a rump component 2011-03-31 08:22:54 +00:00
pooka
d469e02a3b Create cgd block device files in the right directory.
hi pooka!
2011-03-09 11:56:17 +00:00
riz
7559b861a8 Use AUDIO_DEVICE instead of 0 as the minor number for /dev/audio since
0 is incorrect. While I'm here, add /dev/sound, audioctl, and mixer too.

ok pooka@
2011-02-25 19:27:05 +00:00
christos
df0e963b6e enable this for amd64 too. 2011-01-31 00:10:06 +00:00
pooka
8d84854f4d add drvctl component 2010-12-07 21:38:07 +00:00
pooka
f03553f56f haad removed 64bit atomic ops from dm, so put it back on the MI all list 2010-12-07 17:25:40 +00:00