Commit Graph

16432 Commits

Author SHA1 Message Date
pooka
25df76591e The fsync hypercall is now used only with close, so get rid of it.
rumpuser_bio() should do the necessary syncing.
2013-04-29 15:40:38 +00:00
pooka
9dda4d8626 Give private hypercalls the ability to meddle with kthread contexts too. 2013-04-29 15:20:05 +00:00
pooka
a15e077982 Create a kernel thread context for the bio upcalls. 2013-04-29 14:54:03 +00:00
pooka
5af3856aee Make the rump kernel upcalls which were previous available only to
the sysproxy module available for the entire hypervisor.
2013-04-29 14:51:39 +00:00
pooka
f134f09680 set default bio mode to threaded 2013-04-29 13:57:46 +00:00
pooka
17b3a6d03d unschedule around blocking i/o 2013-04-29 13:53:46 +00:00
pooka
831d6eeb05 RUMPUSER_OPEN_DIRECT is no longer necessary 2013-04-29 13:21:03 +00:00
pooka
696d8241ab changes to bio hypercalls, part 3/n:
retire the filemmap/memsync hypercalls, they're no longer used
2013-04-29 13:19:11 +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
skrll
dd1eb4e21c Simplify. earm is dealt with elsewhere. 2013-04-29 07:21:59 +00:00
matt
bc08020c0d Add a C99 <fenv.h> implementation for arm. 2013-04-28 21:06:34 +00:00
joerg
c13cb064fe Drop s_scalbnl.c (and s_scalbln.S as side effect) and provide scalbnl in
s_scalbln.c.
2013-04-28 14:46:14 +00:00
pooka
5e41922b25 don't need event.h here anymore 2013-04-28 13:39:13 +00:00
pooka
49bb662cc0 Change rumpuser_cv_timedwait() from absolute time to relative time.
It's then the hypervisor's problem to translate it accordingly.
Now we no longer have to worry about the kernel having to know the
hypervisor's time and vice versa.
2013-04-28 13:37:51 +00:00
pooka
a53a2a5357 Improve the time-related hypercalls so that's it's possible to
sleep until an absolute time on the host's monotonic clock (should
something like that be supported).
2013-04-28 13:17:24 +00:00
pooka
ad45a6e694 make the file monitoring hypercalls private to shmif 2013-04-28 10:43:45 +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
matt
0b573b56b6 Make all earm variants use earm. 2013-04-28 06:09:52 +00:00
joerg
2fa1d2471b Introduce MKLIBSTDCXX, defaulting to yes. 2013-04-28 04:05:37 +00:00
joerg
ecb06a3b09 Add build glue for libc++. 2013-04-27 23:02:17 +00:00
joerg
560a52b9a0 Retire ldexp sources. scalbn has the aliases. 2013-04-27 22:58:15 +00:00
joerg
eb3cdf8761 Provide stubs for pthread_detach/pthread_join. 2013-04-27 20:36:47 +00:00
joerg
bc802c017d Add a dummy s_scalbln.S to avoid the generic implementations of scalbln
and co on i386 and amd64. They are implemented next to scalbn and co.
2013-04-27 18:44:39 +00:00
joerg
877d9fe29e Add aliases to scalbn* as ldexp*, they are identical for FLT_RADIX=2. 2013-04-27 18:43:25 +00:00
joerg
5204c9072e Add aliases for scalbn* to ldexp, they are identical for FLT_RADIX=2. 2013-04-27 18:39:28 +00:00
joerg
d816b4de58 Use the correct register on AMD64 for the argument. 2013-04-27 18:36:41 +00:00
pooka
b0711f2cf4 nuke unused var 2013-04-27 17:35:10 +00:00
joerg
c3a587caac Move scalbnl back to s_scalbln.c to match the assembler implementations. 2013-04-27 17:20:36 +00:00
joerg
a3f958023b Casting is a not a valid way to check for overflow, so be explicit and
use the limit macros.
2013-04-27 17:19:47 +00:00
pooka
9dd496792d make the random hypercall more generic 2013-04-27 16:56:29 +00:00
joerg
4dfc9ad094 Use namespace.h. Don't redefine scalblnl on 64bit platforms. 2013-04-27 16:43:13 +00:00
pooka
b8f5ee1a3f roll mutex init hypercalls into one (one of them already took a flag anyway) 2013-04-27 16:32:56 +00:00
pooka
bd14d4eb65 wrap unportable register_t with a long. should do it in the front
of the house too, but at least this is a start.
2013-04-27 16:02:55 +00:00
pooka
439ef2016c * treat kern_malloc.c as an unreal allocator (it's so lightweight)
* get rid of the rumpuser_realloc() hypercall
* pass size to rumpuser_free()
2013-04-27 15:34:53 +00:00
pooka
c05fab5d36 rumpuser_poll() is used only by sockin, so make the hypercall
private to that component.
2013-04-27 15:01:21 +00:00
pooka
93b95ff6a0 * integrate rumpuser_getversion() with the hypervisor initialization
* rename some identifiers to better match reality
2013-04-27 14:59:08 +00:00
pooka
bc3aabc030 Try to make sure that the appropriate calls to mutex_enter() takes
a spin mutex (i.e. does not relinquish cpu context while trying to
take the mutex).

Bump the hypercall interface version number.  I'll be doing a bunch
of other cleanups to simplify the interface for the benefit of
alternative hypervisor implementations.  I'll be riding this bump
and doing a second one only after I'm finished with all of the
changes.
2013-04-27 13:59:46 +00:00
matt
36e3b717c5 Detect earm*hf* in a cleaner manner 2013-04-27 08:43:19 +00:00
matt
343c2f33c0 Just build the legacy stuff for earm (for now). 2013-04-27 08:00:40 +00:00
matt
25c44086c9 Changes for MKCOMPAT for earm. 2013-04-27 06:24:22 +00:00
joerg
323be87542 Restore standalone strtol/strtoul for citrus for now. 2013-04-26 21:20:47 +00:00
wiz
55d364d35e Bump date for adding the function to NetBSD. Fix xref. 2013-04-26 19:37:18 +00:00
wiz
afd815359c Add commas in list. 2013-04-26 19:37:04 +00:00
wiz
0ccc09335e Bump date after adding function to NetBSD. 2013-04-26 19:36:47 +00:00
christos
f5c1f2146c add {at_,}quick_exit(3) from FreeBSD 2013-04-26 18:29:55 +00:00
njoly
1a8ac39140 Kill some extra backslashes. 2013-04-26 18:18:22 +00:00
matt
7b96d46463 for earm, make sure to build getdirentries man page 2013-04-25 15:39:26 +00:00
matt
8227b1ba63 When building for earm, make sure to build unwind_arm_ehabi_stub.* 2013-04-25 14:48:09 +00:00
matt
9e528c03eb libgcc/libcompiler_rt inlines some functions needed by libexecinfo when
using ARM EHABI.  Provide uninlined versions for libexecinfo.
from skrll@
2013-04-25 14:47:30 +00:00
matt
ecaf413acf Remove weak_alias since that's now in the compat_putenv.c 2013-04-25 07:08:56 +00:00