Commit Graph

27 Commits

Author SHA1 Message Date
sevan 6b31f116cc With the removal of HAVE_REGISTER_T from rumpuser_port.h, _KERNTYPES does not
need to be defined. This allows register_t to be typedef'd to RUMP_REGISTER_T
without conflict, as highlighted in PR kern/52206.
2017-05-11 04:33:14 +00:00
sevan 979875ac74 Revert previous change so builds can resume.
_KERNTYPES needs to be defined for NetBSD builds to succeed.
_KERNTYPES must not be defined for buildrum.sh builds to succeed.
2017-05-10 08:48:46 +00:00
sevan 9204518573 Do not define _KERNTYPES as this breaks build with buildrump.sh due to
conflicting types for register_t.
Closes PR kern/52206
Steered in the right direction by christos.
2017-05-10 01:11:51 +00:00
christos ffeb8dbf4e Define _KERNTYPES for things that need it. 2016-01-23 21:22:45 +00:00
pooka 77e862601f Move rump kernel man pages from various sources to sys/rump
namely:
  * src/lib is used only when building for POSIX'y platforms, but
    the man pages have their use for all platforms
  * rumpuser.3 is a function of the rump kernel, not one of the of
    the POSIX'y implementation hosted in src/lib/librumpuser

no functional change
2014-11-09 17:39:37 +00:00
pooka 9dcb86b37a Don't install rumpuser.h here.
It's already installed by the rump kernel build (sys/rump/include/rump)
2014-10-28 23:48:03 +00:00
justin 648d66f04b Clean up random implementation for librumpuser
Use /dev/urandom for platforms without arc4random, not srandom(),
deduplicate code, do not read excessive random bytes

Reviewed by pooka@
2014-07-22 22:41:58 +00:00
justin 3620d3dbee Add a fiber based implementation of librumpuser in addition to the
default pthreads based version.

Discussed with pooka@
2014-07-11 20:26:31 +00:00
justin 4ce85d0b6f Split out file and memory access in librumpuser
This allows alternate implementations to reuse these parts, and the file
parts will at the next hypercall revision be moved to their own driver.

Discussed with pooka@
2014-07-09 23:41:40 +00:00
alnsn f6181a22c5 Antti objected to including rumpuser_sync_icache. Exclude it from the build. 2014-06-17 08:42:35 +00:00
alnsn bb8c3186cb Implement rumpuser_sync_icache hypercall. 2014-06-17 06:31:47 +00:00
pooka 437e54a701 Translate signal numbers between rump kernel and (POSIX) host. 2014-02-20 00:42:27 +00:00
pooka 6cd40f3fba Install rumpuser_port.h 2013-09-10 16:51:24 +00:00
pooka 03395b4cf5 also, bsd.own.mk to pick up mk.conf 2013-05-15 20:47:20 +00:00
pooka 5666bf4b73 Make it possible for external parties to specify additional dplibs.
This is useful for example on platforms which require -ldl.
2013-05-15 20:27:00 +00:00
pooka 6601e4ea9f put optional modules on a separate SRCS line 2013-04-30 15:48:29 +00:00
pooka be085dcd72 Translate error codes between the hypervisor and rump kernel. 2013-04-30 12:39:20 +00:00
pooka 262a3aaf9f Rework how the bio hypercalls work, part 1/n:
Reduce the set of hypercalls to one: "do block i/o".  This not only
eliminates a lot of pseudo-duplicate code, it also gives the
hypervisor a lot more freedom on how to optimize the i/o.
2013-04-29 12:56:03 +00:00
pooka e3425032cb Move the rumpuser_net set of hypercalls to be a private to the sockin
component.  This cleans up the generic hypercall interfaces from ones
specific to only one component.  They should always have been private,
but the infrastructure to "make it so" didn't exist earlier.

no functional change
2013-03-18 13:14:10 +00:00
pooka 7b7946c688 Add interfaces that out-of-librumpuser hypercalls can use to unschedule
and reschedule themselves if they plan to block.
2013-03-01 18:15:36 +00:00
pooka 573b65f8df limit use of rumpuser.h to where it is meant to be used from 2013-03-01 13:52:31 +00:00
matt fa835e8c8b These directories default to WARNS?=5 2012-03-21 05:37:42 +00:00
pooka 7332ad1515 Require server to be explicitly initialized with rump_init_server(url).
Also, add rump_daemonize_begin() / rump_daemonize_end() to help
with the "can't daemon() after pthread_create()" problem.  Applications
could accomplish the same, but since it's such a common operation,
provide a little help.
2010-11-30 14:23:24 +00:00
pooka 1e3b8bd985 add commented-out -D_DIAGNOSTIC 2010-11-30 14:08:39 +00:00
pooka b1842c2201 Start rework of system call proxying over socket ("sysproxy").
This incarnation is written in the user namespace as opposed to
the previous one which was done in kernel namespace.  Also, rump
does all the handshaking now instead of excepting an application
to come up with the user namespace socket.

There's still a lot to do, including making code "a bit" more
robust, actually running different clients in a different process
inside the kernel and splitting the client side library from librump.
I'm committing this now so that I don't lose it, plus it generally
works as long as you don't use it in unexcepted ways: i've tested
ifconfig(8), route(8), envstat(8) and sysctl(8).
2010-10-27 20:44:49 +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 bdf6e0b034 Install rump libraries and utilities to the base system and remove the
private non-installed build infrastructure from sys/rump.

breakdown of commit:
  * install relevant headers into /usr/include/rump
  * build sys/rump/librump/rumpuser and sys/rump/librump/rumpkern
    from src/lib and install as librumpuser and librump, respectively
    + this retains the ability to test a librump build with just the
      kernel sources at hand
  * move sys/rump/fs/lib/libukfs and sys/rump/fs/lib/libp2k to src/lib
    for general consumption, they are not kernel-space dwellers anyway
  * build and install sys/rump/fs/lib/lib$fs as librumpfs_$fs
  * add chapter 3 manual pages for rump, rumpuser, ukfs and p2k
  * build and install userspace kernel file system daemons if MKPUFFS=yes
    is spexified
  * retire fsconsole for now, it will make a comeback with an actually
    implemented version shortly
2008-07-29 13:17:40 +00:00