Commit Graph

108 Commits

Author SHA1 Message Date
mrg 978a4e65e0 be sure to only apply zlib.c's -Wno-error=implicit-fallthrough to GCC 7.
push the setting into the rump and module version too.
2019-02-05 09:29:19 +00:00
rin d9d37bdb59 Fix merge botches. I hope there's no more left... 2019-01-27 09:19:36 +00:00
pgoyette d91f98a871 Merge the [pgoyette-compat] branch 2019-01-27 02:08:33 +00:00
alnsn 3eaf14fed6 Cast register_t to uintptr_t before casting to void *.
Not sure what's going on here but evbmips64-el build fails
without this cast.
2019-01-22 01:25:53 +00:00
alnsn 11498dee00 Sync the first argument type with mco_icache_sync_range. 2019-01-22 00:36:02 +00:00
alnsn 8cef4130c5 Add sljit rump glue for aarch64.
XXX arm_icache_sync_range() and mips_icache_sync_range() call

	(void)rumpcomp_sync_icache((void *)va, (uint64_t)sz);

but linking fails if I do the same on aarch64 (I suspect it also
fails on 32bit arm and mips).

As a workaround, I call __builtin___clear_cache().
2019-01-21 00:30:14 +00:00
alnsn a57097d054 Add missing RCSIDs. 2018-12-12 00:48:43 +00:00
rmind b07949e890 Add rumpkern_nv (in-kernel RUMP libnv). 2018-09-22 12:54:34 +00:00
pgoyette 3cd7406ad8 Allow syscall_establish() to install new syscalls when the existing
entry-point is either sys_nomodule or sys_nosys.  Update the
makesyscalls.sh script to create a const array of bits to allow
syscall_disestablish() to properly restore the original entry-point.
Update all the initializers of struct emul to initialize the pointer
to the bit array struct emul.

XXX Regen of all files created by makesyscalls.sh will come soon,
XXX followed by a kernel version bump (since struct emul is being
XXX modified).

This commit should address PR kern/45781 and also removes the need
for the work-around for that PR in file

	sys/arch/usermode/modules/syscallemu/syscallemu.c
2018-08-10 21:44:58 +00:00
chs ba2539a980 merge a new version of the CDDL dtrace and ZFS code.
this changes the upstream vendor from OpenSolaris to FreeBSD,
and this version is based on FreeBSD svn r315983.

in addition to the 10 years of improvements from upstream,
this version also has these NetBSD-specific enhancements:
 - dtrace FBT probes can now be placed in kernel modules.
 - ZFS now supports mmap().
2018-05-28 21:04:59 +00:00
riastradh 39f1e86852 Fail, don't panic, on bad dirents from file system.
Controllable via puffs from userland.

From Ilja Van Sprundel.
2017-07-28 15:34:06 +00:00
pooka 6bb5142288 Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories.  Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
2016-01-26 23:12:14 +00:00
pooka 13f1407fea Initialize non-VFS parts of tty subsystem already at RUMP_COMPONENT_KERN.
That way components under RUMP__FACTION_DEV can call tty routines.
2016-01-07 21:09:01 +00:00
christos 8ec658f57a - Change LDADD/DPADD in library dependencies to LIBDPLIBS
- Fix some LDADD abuse and remove useless dependencies
- include <bsd.init.mk> in the right place where appropriate
From Rin Okuyama
2016-01-05 13:07:46 +00:00
pooka d97f016d89 Always descend into component directories for rumpdescribe. 2015-11-15 16:54:16 +00:00
pooka b2b6f2602e Add a COMMENT describing what each component roughly does.
"make describe" prints the comment.

Requested/inspired by Vincent Schwarzer on rumpkernel-users
2015-10-19 16:16:32 +00:00
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