Commit Graph

255 Commits

Author SHA1 Message Date
pooka
de743a993f * attempt to clarify what "POSIX" means
* link to Platforms page on wiki for a list of known implementation
2014-08-24 14:35:27 +00:00
justin
aaf730d309 Add missing include 2014-08-20 12:09:15 +00:00
justin
28e2f06e08 Clean up error handling in rumpuser_init() 2014-07-25 14:00:31 +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
alnsn
e77183a6da Remove unused file. 2014-07-14 10:36:33 +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
10b89fe038 Reinstate include of netdb.h, needed on some cross builds 2014-07-10 08:17:43 +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
pooka
2f525beeee Hrmph, revert previous pending another fix. I tested it yesterday with
a slightly older tree, and of course it doesn't work anymore ...
2014-06-23 12:38:18 +00:00
pooka
fbc749c67d Wrap pthread_create(). Shouldn't really have a functional effect,
apart from testing that rumpuser_thread_create() can actually survive
an unschedule/schedule cycle (which may or may not be necessary with
other hypercall implementations).
2014-06-22 20:17:23 +00:00
justin
9dd44a1195 Applications are not supposed to and do not need to include <features.h> explicitly 2014-06-17 09:53:59 +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
e0a3ca70e0 For consistency with other files in the same directory
don't include <sys/cdefs.h> before __RCSID.
2014-06-17 06:43:21 +00:00
alnsn
bb8c3186cb Implement rumpuser_sync_icache hypercall. 2014-06-17 06:31:47 +00:00
alnsn
46b0c1cbc8 Add __RCSID. 2014-06-16 21:07:28 +00:00
pooka
ce1cd03e24 Remove one more symbol reference to librump (missed in previous commit
to this file)
2014-06-14 11:52:42 +00:00
pooka
d5b308ef63 do previous the right way to avoid rumpuser linkage dependency on librump 2014-05-23 16:57:42 +00:00
pooka
5fbc8e741c Create remote clients with standard file descriptors open. Fixes at
least editing a new file with ed in rumpremote (because ed calls
isatty(0) in case a file does not exist).
2014-05-23 11:04:03 +00:00
pooka
0cafe662ce weak alias removal implication: rumpuser_dl_globalsym() can now sleep
with the fishes.
2014-04-27 15:18:59 +00:00
justin
95e41b89b5 Add Android support for rump kernel.
Reviewed by pooka@
2014-04-02 17:09:23 +00:00
pooka
cd76e7c732 Always use sysconf() to query host processor count instead of separate
tricks for each platform.
2014-04-02 13:54:42 +00:00
pooka
0ab0c8a502 fix name of HAVE_PTHREAD_SETNAME_3 2014-03-21 16:03:35 +00:00
pooka
fe7fe5876f fix braces 2014-03-21 16:03:07 +00:00
pooka
bc215c110d use a probe result to decide which pthread_setname_np() to use 2014-03-21 12:28:54 +00:00
pooka
fa5f7ef47e set threadname for correct pthread_t 2014-03-21 12:07:10 +00:00
njoly
61d6bfec15 Do not use uninitialized pointer if posix_memalign() fails. 2014-03-16 10:23:59 +00:00
justin
54d90457f6 If dlopen returns NULL assume we are statically linked and return,
rather than getting a warning when dlinfo fails.
2014-03-14 01:18:39 +00:00
pooka
300f37afc0 Do not process linkmaps if there is exactly one link map present
(i.e. there is no ld.so).  Makes statically linked rump kernels work on
glibc (at least for me).

based on some discussion with Justin Cormack
2014-03-13 11:21:54 +00:00
justin
cf83766ecf Revert conversion to __thread as breaks on archs without TLS support 2014-03-10 22:37:51 +00:00
justin
587ef2949a Use __thread rather than pthread_getspecific for rumpuser curlwp.
This has better performance and curlwp is a performance bottleneck
in rump kernel code.
2014-03-09 23:01:11 +00:00
pooka
8a7d14d1c2 Fix locking SNAFU.
Is someone can explain why the code worked for 3+ years with multiple
different pthread implementations, I'll buy you a banana.
2014-02-28 13:55:36 +00:00
pooka
a2867970a4 emulate printflike properly to avoid fatal error on clang 2014-02-25 20:58:18 +00:00
pooka
613311d8d7 remember to commit this file too 2014-02-20 01:24:49 +00:00
pooka
fb8e281673 make implementation of rumpuser_kill() match the documentation 2014-02-20 00:44:20 +00:00
pooka
64a85ea946 document rumpuser_kill() 2014-02-20 00:43:26 +00:00
pooka
437e54a701 Translate signal numbers between rump kernel and (POSIX) host. 2014-02-20 00:42:27 +00:00
pooka
177c2413c9 minor clarification: rumpuser_thread_create() is used to create the host
thread context for kernel threads, never for application threads.

per discussion with justin
2014-02-14 00:33:51 +00:00
pooka
8d2ee87e24 Do not force _FILE_OFFSET_BITS=64 here. It's no longer strictly speaking
required (rumpuser interface no longer uses off_t) and force-defining
it causes foo() to magically become foo64() on glibc (even on 64bit
platforms).
2014-01-16 16:03:33 +00:00
pooka
29316c504c Make setprogname() a nop where it's not supported. 2014-01-15 16:53:15 +00:00
pooka
2b361b10dd remove obsolete definitions 2014-01-08 11:04:47 +00:00
pooka
6459f6aa95 do as the comment says and #if defined(every_other) || defined(platform) || ...
===> #if !defined(__NetBSD__)
2014-01-08 01:47:31 +00:00
pooka
f67143f64b OpenBSD support
from Justin Cormack via github
2014-01-08 01:45:29 +00:00
pooka
55ffc8641a Do not export symbols which don't need to be exported.
via Justin Cormack
2013-12-31 00:25:17 +00:00
pooka
cbbcae5f8b remove outdated comment (since quite a few months ago) 2013-12-18 20:24:04 +00:00
pooka
9f9913cebe Workaround a gcc -Wuninitilized whine
github/buildrump.sh issue #44
2013-11-01 23:22:13 +00:00
pooka
d3852222c9 Oh, stdint.h isn't written with a comma ... 2013-10-30 13:08:14 +00:00
pooka
e5aed19d72 need to include stdint.h before rump/rumpuser.h 2013-10-30 12:55:53 +00:00
pooka
079cd2100d glibc on MIPS uses the same DYN d_ptr variant as NetBSD and musl.
from Justin Cormack
2013-10-30 12:30:32 +00:00
rmind
d60eb8c12f librumpuser: add some #ifdef __APPLE__ and missing bits to build it on OS X.
OK pooka@
2013-10-27 16:39:46 +00:00
rmind
0f412aba18 Give RUMP mutex and rwlock their own cache-line. Also give a separate
cache-line for the rwlock's reader counter.
2013-09-26 00:41:51 +00:00