Commit Graph

92 Commits

Author SHA1 Message Date
christos
1a4eecf195 use ioconf.h for pseudo-device attach prototypes 2015-08-20 11:59:16 +00:00
pooka
a757287dfa Rewrite rules so that makesyscalls.sh will not be executed multiple
times in a parallel make.

Hopefully fixes sporadic build failures reported by Justin
2015-05-18 17:49:16 +00:00
pooka
48121ce977 remove files which are autogenerated in every build 2015-05-09 12:03:34 +00:00
pooka
8c13dec0ff Make the cool syscall autogeneration feature work with the
newfangled r/o src feature.
2015-05-09 12:03:10 +00:00
pooka
ac0dac8111 Rename RUMP_COMPAT to RUMP_NBCOMBAT to better signify what the
variable does.
2015-04-23 14:49:26 +00:00
pooka
b13c75b964 Build compat code only when specified by RUMP_COMPAT 2015-04-22 17:57:49 +00:00
pooka
6195daadda Give remote clients struct pmap storage. Although the pmap is unused,
that way we can sure that the pmap macro framework doesn't access all
the wrong places.
2015-04-18 15:49:18 +00:00
pooka
52af998366 Use a different vmspace for rump kernel proc0 and local clients.
While the rump kernel and local clients are by definition in the same
host vmspace, there are subtle differences in how in-kernel code works
in case accessing the kernel vmspace or a user process vmspace.

Problem discovered by riastradh's "read(fd, NULL, 1)" test.
2015-04-03 16:40:55 +00:00
christos
ccbcae9faf Add snippet to build syscalls. 2015-03-08 15:22:02 +00:00
christos
6e1be9e387 regen 2015-03-08 15:21:20 +00:00
christos
702f49ac99 factor out the syscall building code 2015-03-08 15:20:07 +00:00
christos
bb3f5d4d7f regen 2015-03-08 15:19:40 +00:00
christos
dffa3aaa60 regen and add a build target. 2015-03-08 15:07:33 +00:00
pooka
0397f3a735 Move sysproxy support into a separate component, rumpkern_sysproxy,
instead of it being always provided by the rump kernel base.  This
move accomplishes two things:

1) it is no longer necessary to provide sysproxy hypercall stubs for
   platforms which do not want to use sysproxy
2) it is easier to reason about the security aspects, since configurations
   not linking the sysproxy component simply do not support remote
   system calls

discussed on rumpkernel-users
2015-01-07 22:24:03 +00:00
pooka
eaa241e501 Remove shlib_version files and just use Makefile SHLIB_MAJOR/MINOR,
with the default provided by Makefile.rump (they're all 0.0 anyway)
2014-12-02 01:59:10 +00:00
pooka
67433f3a0f Remove and obsolete rumpkern_time as a separate component. 2014-08-25 18:44:02 +00:00
alnsn
ffb49e5b03 Implement rumpcomp_sync_icache() hyprecall for arm and add
a barebone implementation of arm cache ops to librumpkern_sljit.
2014-07-23 07:16:14 +00:00
alnsn
c5e535c214 Implement rumpcomp_sync_icache() hyprecall for mips and add
a barebone implementation if mips cache ops to librumpkern_sljit.
2014-07-22 20:25:13 +00:00
njoly
c2f72e5f92 Regen for utimes(2). 2014-05-29 10:42:23 +00:00
njoly
6ef574d8cc Ajust for compat linux utimes(2) change. 2014-05-29 10:41:48 +00:00
njoly
fa686015bc Regen for pread/pwrite signature. 2014-05-04 10:31:10 +00:00
njoly
470da95e01 Adjust pread/pwrite signature to match reality. 2014-05-04 10:30:39 +00:00
njoly
b831ef2db2 Regen. 2014-04-04 18:25:41 +00:00
njoly
faf91a83de Add support for timing syscalls. 2014-04-04 18:24:12 +00:00
pooka
dc8f80f5c3 Put nanosleep() and folks in librump instead of maintaining them in
the separate rumpkern_time component.  Keeping time-related routines
elsewhere lead to some illogical behavior if you didn't think of linking
in rumpkern_time (hands up everyone who checks the return value of
nanosleep()).

Add warnings if rumpkern_time is linked or used.  I'll remove it in a
month or two instead of now since it was part of a buildrump.sh snapshot
and it's nicer if trying to use it gives a warning instead of an error
in the next snapshot.

"everything should be as modular as possible, but no more modular than that"
2014-04-02 19:37:17 +00:00
pooka
3ca2bbc18a fix tyop 2014-03-16 14:14:40 +00:00
pooka
41e29f6bc7 Add rumpkern_time for nanosleep, clock_gettime, setitimer, etc. 2014-03-14 01:02:34 +00:00
pooka
e73b6747ac rename component.c -> sys_sunos_component.c 2014-03-13 02:04:14 +00:00
pooka
d9edc94bdf rename component.c -> sys_linux_component.c 2014-03-13 02:03:47 +00:00
pooka
4ef595eb8a rename component.c -> sys_cygwin_component.c 2014-03-13 02:03:16 +00:00
pooka
e9fb1375a8 rename component.c -> tty_component.c 2014-03-13 02:02:30 +00:00
pooka
8966dd15d3 remove stub now provided by rump kernel base 2014-02-18 06:20:46 +00:00
njoly
b7dce7e999 Build with IPv6 support. 2014-01-28 10:54:45 +00:00
njoly
5df178fa15 Add now needed linux_pipe.c sources. 2014-01-25 10:40:40 +00:00
njoly
3e71eccadc Regen for pipe2 and lchown. 2014-01-25 10:31:01 +00:00
njoly
485190e7b7 Add pipe2 and lchown syscalls. 2014-01-25 10:30:22 +00:00
pooka
2d79771930 Use subr_cprng.c instead of stub implementation. Rijndael migrates from
rumpkern_crypto to rumpkern due to it being mandatory for cprng.
2014-01-17 01:32:53 +00:00
pgoyette
2e6d77ce29 Add the MODULE parts for blowfish and des.
Add camellia algorithm.  (pooka@ says no lib version change required)
2014-01-14 17:05:50 +00:00
njoly
5298a5a891 Regen. 2014-01-10 20:10:43 +00:00
njoly
cc84e6774d Add NetBSD futimes/lutimes syscalls which does not exists on Linux. 2014-01-10 20:10:23 +00:00
njoly
c21d61a30f Regen. 2014-01-10 19:45:43 +00:00
njoly
a022633d69 Do not redefine linux syscalls arguments, just use compat ones
instead.
Include linux_socketcall.h to bring missing socket syscall
arguments/prototypes on arches that have socketcall(2).
Finally, cleanup rump linux syscall wrapper, to remove linux syscall
argument/prototype local copy.
2014-01-10 19:44:47 +00:00
pooka
7d5558e88d fix tyop 2013-12-17 14:30:18 +00:00
pooka
f5bd9f4075 Translate return values for emulations, e.g. Linux. For ports without
__HAVE_MINIMAL_EMUL, we simply look up the values from p->p_emul->e_errno.
For ports which cannot afford to keep an extra pointer per emul structure
around, we hope there is __HAVE_SYSCALL_INTERN support and thread the
errno values through p_emuldata.  Notably, we cannot alter the syscall
method like most ports do with syscall_intern, since they do it via
p_mdproc, so MI code is not possible there.
2013-12-16 15:36:29 +00:00
njoly
6d25749476 Regen. 2013-12-14 17:35:11 +00:00
njoly
d491161468 Use native/rump syscalls for pread/pwrite instead of linux ones
which only exist to deal with PAD argument.
2013-12-14 17:34:47 +00:00
njoly
f820357119 Regen. 2013-12-14 10:30:50 +00:00
njoly
3fa945c034 Add syscall wrapper for mknodat(2) to deal with PAD argument difference
between rump and linux versions.
2013-12-14 10:29:45 +00:00
njoly
e767fbcf4a Regen. 2013-12-08 08:55:27 +00:00
njoly
30c1ae2545 Add support for *at syscalls. 2013-12-08 08:54:48 +00:00