Commit Graph

1881 Commits

Author SHA1 Message Date
dholland 2bcf8ce0cf regen 2012-10-13 17:47:11 +00:00
pooka ccdd96e551 Pass up all multicast addresses, not just broadcast. Among other
things, makes IPv6 work over this interface.
2012-10-11 10:50:45 +00:00
pooka bea63a3d10 Gather some statistics about biglock usage. 2012-10-09 13:35:50 +00:00
dholland 68bcc97b05 regen 2012-10-08 23:44:09 +00:00
christos 8e4cb02016 regen 2012-10-02 01:46:20 +00:00
joerg 852c4daa51 Don't use NODEV when comparing against a major number as this is an
impossible type mismatch.
2012-09-21 16:38:54 +00:00
pooka 4a0516d44f sort stubs, remove autonamespacing and add some signal-related ones
I missed yesterday
2012-09-20 17:50:42 +00:00
pooka ef4e0c03f8 regen 2012-09-20 17:47:05 +00:00
pooka 4020d08ae4 gen (without re) 2012-09-19 21:46:46 +00:00
pooka fd245ed303 Add the first attempt at rump kernel support for Linux clients. This has
been lightly tested with unmodified networking applications with both
the client and server on a 64bit le host.  Unlike the standard Linux
compat libs where args and syscalls are swizzled around, this compat
lib only massages the arg data types due to the assumption that syscall
numbers come from librumpclient (via librumphijack) and therefore match
the native NetBSD numbers.
2012-09-19 21:45:40 +00:00
rmind 8c6e21bf5e Implement dynamic NPF extensions interface. An extension consists of
dynamically loaded module (.so) supplementing npfctl(8) and a kernel
module.  Move normalisation and logging functionality into their own
extensions.  More improvements to come.
2012-09-16 13:47:41 +00:00
pooka bb49dc5937 In the "interlock" case (where the scheduler lock is used as the condvar
lock), we need to take the CPU interlock before releasing the CPU.
Otherwise other threads can be scheduled before we get the interlock,
leading to e.g. missed condvar wakeups.  This affected only "locks_up.c"
locking (nomen est omen?).

Also, remove various __predicts since they don't have a positive
performance impact in any setup.
2012-09-15 17:15:01 +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
pgoyette 752bbb2f77 Use correct routine name - kcpuset_sysinit() vs kcpuset_init() 2012-08-16 19:40:48 +00:00
pgoyette 535975bb02 We also need kcpuset_init() now. 2012-08-16 19:09:01 +00:00
pgoyette 7ca1e3c015 It helps to include the declaration of the routine being called. 2012-08-16 17:47:47 +00:00
pgoyette 006de804d5 Call pserialize_init() during rump start-up, since librump/net/npf
uses it.
2012-08-16 17:25:36 +00:00
rmind bd7e78888a Enable the build of librumpnet_npf. 2012-08-15 17:56:58 +00:00
rmind 68f7a7bc54 Move and rename librumpdev_npf to librumpnet_npf. 2012-08-14 22:31:43 +00:00
joerg c14f2d4ef8 Deal with optional HAVE_GCC. 2012-08-10 16:05:26 +00:00
christos 6f2c8e3ee8 don't install includes if MKRUMP = no 2012-08-08 13:58:56 +00:00
pooka 232fe594f2 Make it easy to turn -DDIAGNOSTIC off (RUMP_DIAGNOSTIC=no) and -DDEBUG
on (RUMP_DEBUG=yes).
2012-08-05 15:37:39 +00:00
pooka a43f04d34d Remove stubs which have been provided elsewhere for almost 2 years now. 2012-08-05 15:36:19 +00:00
pooka ff9b6e73ac no need to include code which is already provided by the faction base 2012-08-03 14:27:02 +00:00
pooka 04c76d7616 reregen 2012-08-03 12:42:10 +00:00
pooka 0dbefb0fc2 regen 2012-08-03 11:32:55 +00:00
pooka 09452c4910 Use mmap hypercall for memory allocation only when absolutely necessary
(map == module_map).  Otherwise, use the malloc hypercall.  This avoids
relying on the platform's mmap() to be able to return arbitrarily
alignment memory.
2012-07-27 09:06:01 +00:00
joerg 7c66e13b32 Needs pmap_write_protect to finish DBG=-g build with clang. 2012-07-22 20:32:31 +00:00
pooka 40247a505b reregen 2012-07-20 18:19:45 +00:00
pooka 1aec8d1196 regen 2012-07-20 16:49:45 +00:00
pooka fc1af45c3d Revert rev 1.51. Turns out the defines are still useful when you really
want a local client.
2012-07-20 09:27:11 +00:00
pooka 80ba1511ea Make it possible to select between real and unreal allocators from
make.  Plus some gratuitous renaming.
2012-07-20 09:20:05 +00:00
pooka cb64a9f93e make unreal allocators work again 2012-07-20 09:11:33 +00:00
pooka ae8c671bae add simple compat for other OSs to be able to use rump_syscalls.h 2012-07-20 09:10:23 +00:00
pooka 197267af5e regen 2012-07-20 09:03:09 +00:00
pooka 8a830e652c add some network-related compat defs 2012-07-20 09:02:48 +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
martin ef2efed249 Adjust to rfc6056 rename to portalgo 2012-06-25 19:25:07 +00:00
alnsn 2db61b9b19 Add missing $NetBSD$. 2012-06-24 17:28:09 +00:00
rmind a02bd039dc rumpkern:
- Add subr_kcpuset.c and subr_pserialize.c modules.
- Add kcpuset_{running,attached} for RUMP env.
2012-06-22 12:45:43 +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
christos 27eca176eb since uidinfo uses sysctl now, move sysctl initialization before it. 2012-06-09 15:48:38 +00:00
jym 57d7988f76 Now that pool_cache_invalidate() is synchronous and can handle per-CPU
caches, merge together pool_drain_start() and pool_drain_end() into

bool pool_drain(struct pool **ppp);

"bool" value indicates whether reclaiming was fully done (true) or not (false)
"ppp" will contain a pointer to the pool that was drained (optional).

See http://mail-index.netbsd.org/tech-kern/2012/06/04/msg013287.html
2012-06-05 22:51:47 +00:00
rmind 0d6cd2ebfa rumpvfs:
- ubc_uiomove: avoid the re-lock dance, since the lock is shared these days.
- uvm_aio_aiodone: acquire the lock before modifying the page flags.

Tested by martin@.
2012-06-03 16:46:08 +00:00
dsl a59a164d85 Fix build now that sysctl_createv() checks its arg type. 2012-06-03 10:45:10 +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 13a218af47 Recently uvm_page_locked_p() leaked outside of uvm/MD code, so rump
needs to provide one.
2012-05-23 14:59:21 +00:00
dholland b4e2a66cb4 Revert previous. It seems that some or all makefiles in tests/ do not
bother to set DPADD and thereby fail silently on library changes.
2012-05-13 09:42:36 +00:00
dholland c0f1048093 quota1_subr.c and vfs_quotactl.c are not needed here any more. 2012-05-13 06:12:43 +00:00
riastradh aeadee1d6d Adapt ffs, lfs, and ext2fs to use genfs_rename.
ok dholland, rmind
2012-05-09 00:21:17 +00:00