pooka
1ac307e403
kill undesirable #ifndef _RUMPKERNEL
2014-03-11 20:32:05 +00:00
pooka
98631d955a
Reinstance cpu_counter.h so that we don't have to work around the
...
MD implications everywhere else.
2014-03-11 20:25:05 +00:00
pooka
75234fdf68
deduplicate uvm_object_printit() implementation
2014-03-11 20:22:47 +00:00
pooka
0d17764267
Put the syncobjs in emul.c instead of locks.c so that they are
...
present for both locks.c and locks_up.c alike.
2014-03-11 00:59:38 +00:00
pooka
2d6a1e9048
update comments
2014-03-10 23:02:07 +00:00
pooka
3cbed593c7
add a compat prototype for rump_getversion()
2014-03-10 22:48:29 +00:00
pooka
e163d16682
rump_getversion() does not require a thread context, so make it a straight
...
call instead of being wrapped around rump_pub_getversion().
2014-03-10 22:44:10 +00:00
pooka
495782ee0e
Move the "is arch capable of loading native kernel modules into
...
rump kernel" clauses from bsd.own.mk to Makefile.rump. Also,
add a rump_nativeabi_p() call to determine if rump kernel is
compiled with native ABI support.
2014-03-10 22:38:53 +00:00
matt
c3a9c63860
Be a little more careful checking MLIBDIR
2014-03-07 05:49:05 +00:00
matt
f2ada4d7f5
Use ARCH_ELFSIZE=32 is MLIBDIR == "powerpc"
2014-03-07 04:10:43 +00:00
pooka
da53b95428
also include bsd.own.mk, so value for RUMP_NPF_TESTING can come from mk.conf
2014-03-03 19:09:52 +00:00
pooka
9d7981d3bd
Fix the memory limiter to work for non-pagedaemon threads again
...
reported by njoly
2014-03-03 16:50:28 +00:00
pooka
ddbee4681a
For now, make it possible to not specify -D_NPF_TESTING by compiling
...
with RUMP_NPF_TESTING_=no. This in turn makes it possible to use npf
in a rump kernel for real packet filtering instead of just testing.
no change to default
2014-03-03 14:01:30 +00:00
pooka
c40bbed43a
Pull in the changes from the dpdk, netmap and snabb switch repos.
...
There are two major changes:
1) All thread context policy is pushed down to the hypercalls.
This is meant to help performance-mongering implementations be
able to control packet scheduling better (e.g. pin down packet
reception to certain physical cores).
2) Generalize linkstr, meaning that the interface can now take an
arbitrary string which is passed to the create() hypercall. This can
be used to map backend device characteristics to the rump kernel
interface instance.
2014-03-03 13:56:40 +00:00
matt
2260871018
Use the new FEAT_LDREX to replace ARMV6/ARMV7
2014-02-28 14:19:25 +00:00
skrll
dd7bb1e0a8
G/C sys/simplelock.h includes
2014-02-28 10:16:51 +00:00
hannken
d940ddcc62
Currently dead vnodes still reside on the vnodelist of the file system
...
they have been removed from.
Create a "dead mount" that takes dead vnodes until they get freed.
Discussed on tech-kern.
2014-02-27 13:00:06 +00:00
pooka
711a488a45
Run constructor as part of network faction bootstrap, not device
...
(rumpdev no longer necessary)
2014-02-26 02:39:29 +00:00
pooka
24b70d334d
Schedule only those netisr's that have registered handlers.
2014-02-25 22:40:53 +00:00
pooka
4f6fb3bf35
Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
...
the sysctl link sets are processed, and remove redundancy.
Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
2014-02-25 18:30:08 +00:00
justin
69dd91d347
Add kern.{ostype,osrelease,osrevision,version} kern.domainname,
...
kern.rawpartition sysctl support to rump kernel.
Moved the sysctl support that is shared between rump and normal
kernels to init_sysctl_base.c as rump cannot use init_sysctl.c
in order to avoid code duplication. Agreed with pooka@.
2014-02-25 01:02:42 +00:00
pooka
0c98ef9a00
+rump_wmd
2014-02-24 19:22:14 +00:00
pooka
9f29e8de3d
truncate is not a defined operation for host files
2014-02-24 11:43:33 +00:00
skrll
d44a8024fa
Fix typo in fix for PR/48606
2014-02-21 08:33:51 +00:00
christos
7d843710ef
PR/48606: Lloyd Parkes: Drivers not using ifp->if_input but using ether_input
...
directly.
2014-02-21 02:10:40 +00:00
pooka
b7c666f338
+ resettodr
2014-02-20 01:01:10 +00:00
pooka
47693a4792
Remove the "host" signal model. I'm not sure it ever made any sense.
...
I'm also quite sure nobody ever really wanted to use it.
Change the "raise" sigmodel to include the rump kernel PID in the call
to rumpuser_kill(). The purpose is to provide some hint for non-POSIX
platforms which don't sport signals and multiplex many clients in a
single address space.
While this is technically an ABI change, see above. Also, since
rumpuser_kill() was not documented, I'll just claim I'm fixing a bug in
the implementation (and will be sure to document the interface correctly
very soon).
2014-02-20 00:41:05 +00:00
pooka
8966dd15d3
remove stub now provided by rump kernel base
2014-02-18 06:20:46 +00:00
pooka
a2e24f6a7e
Use same uvm_swap_shutdown() stub for !vmswap kernels and rump kernels.
2014-02-18 06:18:13 +00:00
pooka
37fe00547f
simply issue a warning if <1MB RAM configured. it might work, but
...
not going to start enumerating when and where it might.
2014-02-17 19:43:52 +00:00
pooka
67ab7d006c
reserve a small amount of memory for the pagedaemon
2014-02-17 19:33:05 +00:00
pooka
459f46c52b
Register netisr's from component constructors instead of via a hardcoded
...
global list.
2014-02-14 01:43:13 +00:00
pooka
c1c33d6851
g/c prototype of imaginary routine
2014-02-14 01:27:48 +00:00
pooka
f16e4e4778
Minor comment massage, zero functionality massage.
2014-02-12 22:30:45 +00:00
pooka
9563724619
Rototill a bit, and attempt to disguise it as non-gratuitous.
...
Add arch/generic and move non-x86 files from rumpkern/ there. Also,
move files from arch/i386 to arch/x86, and make both i386 and x86_64
use those.
This clarifies the situation with what is MD vs. MI code.
renames:
rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x
arch/i386/* => arch/x86/rump_x86_$x
(for those who forget, x86 requires MD code because rump kernels
use the same ABI as kernel modules)
2014-02-12 22:28:43 +00:00
hannken
97834f7ba0
Change vnode operation lookup to return the resulting vnode *vpp unlocked.
...
Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
2014-02-07 15:29:20 +00:00
pgoyette
f496b70ec7
Undo previous - it still needs a lot more work.
...
For now, we'll use the hand-crafted cf* structures and directly
call all the config routines.
2014-02-03 23:11:40 +00:00
pgoyette
a9062aa8b9
Use ioconf file to generate config data structures
2014-01-31 18:13:01 +00:00
pooka
934cd9a889
lwp0 needs l_proc set for panic->cpu_reboot to dump core the right way
2014-01-29 18:42:14 +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
hannken
04c776e5c8
Change vnode operations create, mknod, mkdir and symlink to return
...
the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
2014-01-23 10:13:55 +00:00
christos
2e665b4bd4
Kludges like to procreate. Add alpha cpu_frequency() kludge.
2014-01-22 23:38:21 +00:00
martin
4fee85be61
Make IPL_ values different.
...
This makes ni real difference for rump, but avoods
KASSERTs in common code when we try to assert
"ipl not higher as...".
Suggested by riastradh, OK: pooka.
2014-01-19 07:01:55 +00:00
pooka
84093338b2
don't use temp buffer from the stack, fix the constants
2014-01-17 14:57:04 +00:00
hannken
1139274440
Change vnode operations create, mknod, mkdir and symlink to keep the
...
directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
2014-01-17 10:55:01 +00:00
pooka
964b56f42b
sysctl_init needs to be pretty much at the top of main()
2014-01-17 02:05:54 +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
aff4b3ca56
Don't bring in the zlib stuff at build time. This will get resolved
...
when the user starts the rump_server process.
OK pooka@
2014-01-16 14:12:09 +00:00
pgoyette
8409919195
Use existing rumpkern_z library rather than including another copy of
...
zlib.c
2014-01-16 02:38:20 +00:00
pgoyette
f8dd541c8b
Remove explicit definition of COMPAT_50. As pointed out by pooka@,
...
this is already defined in Makefile.rump
2014-01-16 02:21:24 +00:00
pooka
eed75ee5c9
yearly update
...
Miraculously, the list got smaller(!)
2014-01-15 15:10:31 +00:00
pgoyette
ae263bb3de
Link new opencrypto library into the build.
2014-01-14 17:17:52 +00:00
pgoyette
5e3ad7ff0e
Add new rump library for opencrypto framework
2014-01-14 17:15:09 +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
b50bd486cc
OpenBSD has kqueue
2014-01-08 11:06:33 +00:00
pooka
acb676442c
Allow kernels compiled with INET+INET6 to be booted as IPv4-only or IPv6-only.
2014-01-02 18:29:01 +00:00
pooka
6971bddad3
include shmif_dumpbus
2013-12-20 10:13:24 +00:00
pooka
1150b99ea3
use _KERNEL_RCSID only in _KERNEL, _RCSID elsewhere
2013-12-20 10:00:59 +00:00
pooka
1a7f9ac66c
header massage, mostly improves portability
2013-12-20 09:06:35 +00:00
pooka
c0dbaf1358
install rumperr.h
2013-12-18 20:14:02 +00:00
pooka
796ef7fdf2
regen
2013-12-18 20:12:08 +00:00
pooka
31ca0a94e8
generate errno -> str routine (for portable programs)
2013-12-18 20:10:58 +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
pooka
f11ea73cc4
regen
2013-12-11 23:14:03 +00:00
pooka
87860d8cc5
need to grab KTRFACv[n] too
2013-12-11 23:13:48 +00:00
pooka
ef738750b7
reregengen
2013-12-11 09:45:01 +00:00
pooka
4bb2a888c3
regen
2013-12-09 21:13:21 +00:00
pooka
6cddbc313d
Now that Makefile.rump is included here first, do not override any
...
SRCS it adds. This is required for linksyms_sun.c used when linking
with the Solaris linker.
2013-12-09 20:44:00 +00:00
pooka
7b1b5f1abc
Reenable calls to KPREEMPT_EN/DISABLE(). I'm almost certain I commented
...
them out accidentally in rev 1.30.
... not that they do much in rump kernels which are always
run-to-completion, but maybe there's some driver debugging value.
2013-12-09 19:47:59 +00:00
pooka
e5b8d78b8e
regen
2013-12-09 19:31:36 +00:00
pooka
5335d68dd3
include ktrace constants
2013-12-09 19:31:00 +00:00
pooka
a32f91a34e
regen
2013-12-09 19:19:39 +00:00
pooka
0ba40768c8
Make ktrace a compile-time option
2013-12-09 17:57:11 +00:00
pooka
2f027c575e
regen
2013-12-09 17:15:11 +00:00
pooka
33ab42bca0
make !LOCKDEBUG work too
2013-12-09 17:03:41 +00:00
pooka
f4f26b55de
need ktrace.h now
2013-12-09 16:56:11 +00:00
pooka
5624f8eb6b
Support ktrace for rump kernels.
...
Requested by Justin Cormack on rumpkernel-users.
2013-12-09 16:54:20 +00:00
pooka
a639bb644d
regen
2013-12-09 16:35:12 +00:00
pooka
257a0d4d1f
Use sy_invoke() instead of sy_call() directly.
2013-12-09 16:23:10 +00:00
pooka
afc932bfaa
stop ktrace at process exit
2013-12-09 16:21:15 +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
njoly
965d2f018b
Regen.
2013-12-07 11:49:56 +00:00
njoly
2f2a9081c4
Add dup3 support.
2013-12-07 11:49:27 +00:00
njoly
f4eb1c9fc7
Regen.
2013-12-07 09:20:22 +00:00
njoly
fb1f7d2f0d
Remove liutimes(2) that linux never had.
2013-12-07 09:19:36 +00:00
christos
e929654b56
add a copy of uvm_swap_shutdown() here so that it is not undefined when we
...
use it.
2013-11-23 22:24:31 +00:00
christos
0b725b63c7
change the mountlist CIRCLEQ into a TAILQ
2013-11-23 13:35:36 +00:00
christos
92afcdc148
we now use TAILQ
2013-11-22 21:56:24 +00:00
njoly
41f9717ed2
Do lwp0 initialisation as early as possible, right after
...
rumpuser_init(). This makes rump applications work again when
RUMP_LOCKDEBUG is enabled.
ok pooka.
2013-11-18 18:45:29 +00:00
rmind
4db7db6b0f
Move rumpnet_bpfjit under MKSLJIT as well.
2013-11-16 14:00:57 +00:00
alnsn
def19d8993
Build and install sljit and bpfjit rump components iff ${MKSLJIT} != "no".
2013-11-16 13:01:38 +00:00
martin
115703ed50
sljit is only available on very few architectures, so do not try to build
...
it on all.
2013-11-16 10:34:47 +00:00
rmind
6e88b59054
Build rumpkern_sljit and rumpnet_bpfjit; include them into the sets.
2013-11-16 01:39:17 +00:00
rmind
80f3a45395
Add rumpkern_sljit and rumpnet_bpfjit modules.
2013-11-16 01:23:37 +00:00
martin
41de4c61e8
As discussed on tech-kern: make TOPDOWN-VM runtime selectable per process
...
(offer MD code or emulations to override it).
2013-11-14 12:07:11 +00:00
pooka
8ce507197f
regen
2013-11-13 16:42:30 +00:00
pooka
bf32f59ada
do enums, grab enum modctl
2013-11-13 16:42:00 +00:00
pooka
63714dea2f
Avoid calling curcpu() when we know the result is constant.
2013-11-11 23:11:30 +00:00
pooka
d64fcb8d70
Defer softint thread creation to first softint_establish() for that level.
...
Speeds up rump kernel bootstrap and saves memory -- very rarely are all
softint levels in a rump kernel used.
2013-11-11 23:06:40 +00:00
joerg
5dce7f2a9f
Fix syntax for undefined HAVE_GCC.
2013-11-11 00:56:20 +00:00
rmind
a79812ea10
NPF: add support for specifying the interfaces before they are attached.
...
If an interface is or gets detached, all associated rules and connections
will be deactivated (it might be useful to have an option to invalidate
the associated connections). Once the interface is reattached they will
become active.
Bump NPF_VERSION.
2013-11-08 00:38:26 +00:00
christos
c2157dc68c
avoid gcc bug on sh3
2013-11-07 21:30:58 +00:00
mrg
02f2d66aa1
mark rump's CPU_INFO_ITERATOR as being __unused.
2013-10-30 08:42:45 +00:00
pooka
08030c27cb
Add MIPS. Requested by Justin Cormack.
2013-10-29 16:19:28 +00:00
pooka
f04b573a14
Maintain arch list in a separate variable.
...
no functional change
2013-10-29 16:18:42 +00:00
pooka
684100d315
Enable holding implicit threads over explicit scheduling points (i.e.
...
a kernel driver calling rump_lwproc_switch()). Also, correctly handle
curcpu()->ci_curlwp and biglock there.
2013-10-27 20:25:45 +00:00
pooka
605dec17d4
Give the hypercall interface a version number. This is for
...
implementations outside of the tree.
2013-10-27 16:03:19 +00:00
christos
74e86c11e9
remove unused variable
2013-10-18 19:56:11 +00:00
njoly
4a806b5236
Regen for mknodat(2) device argument type change.
2013-10-17 18:04:40 +00:00
njoly
9ef9256e1a
Regen for utimensat(2).
2013-10-05 09:22:43 +00:00
njoly
acf696a10e
Add utimensat(2) support.
2013-10-05 09:22:01 +00:00
pooka
3afd1f0a82
+BUS_DMA_TAG_IS_VALID
2013-09-23 17:57:59 +00:00
pooka
6e46c1395e
Make dma_tag_t a bit more useful.
...
XXX: this header should definitely not exist, but given that it does,
let's use it to make life easier. The implication of its existence is
that x86 port rump kernel components are not ABI-compatible with kernel
modules which use bus_space/bus_dma. I'm not sure if anyone is interested
in that...
2013-09-22 20:51:18 +00:00
pooka
d9a6bf91c0
use ioconf for mainbus
2013-09-20 16:49:00 +00:00
pooka
67be9b8a43
Move the bus_dma implementation that works only with ugenhc into the
...
ugenhc component itself.
2013-09-19 17:55:22 +00:00
pooka
fa25181c5c
Pull in all of sys/dev (i.e. don't skip pci/ and microcode/).
2013-09-19 16:16:03 +00:00
rmind
7b5edfdc0d
NPF: G/C n-code in favour of BPF byte-code. Delete lots of code, mmm!
2013-09-19 01:49:07 +00:00
pooka
f12cd61cff
Make it possible to run component constructors after mainbus attaches,
...
but before config_finalize() is run.
2013-09-17 23:55:16 +00:00
pooka
21d147878b
allow pcibus to attach to a rump kernel mainbus
2013-09-17 00:50:19 +00:00
joerg
f9cf12b211
GC rumpusb_device_intr_methods.
2013-09-13 20:38:39 +00:00
joerg
421316e0bf
Remove busversion.
2013-09-13 20:38:04 +00:00
joerg
7a17852c4d
GC unused functions. Don't bother building ieee80211_acl.c, nothing in
...
it is non-static.
2013-09-13 20:19:53 +00:00
pooka
543084bf66
regen
2013-09-10 17:42:02 +00:00
pooka
6a483aa182
+rump_server
2013-09-10 17:08:57 +00:00
pooka
dcf10cb7c5
Fix minor bug in previous: make sure we come out of rump_init()
...
without a bound lwp set.
2013-09-09 19:18:08 +00:00
pooka
15344de734
Fool isatty() into thinking we're a tty.
2013-09-08 04:37:17 +00:00
pooka
fbf90abc10
fix -Wuninitialized
2013-09-07 18:17:35 +00:00
pooka
28fc97ca89
Add an initial console device and open fd's 0/1/2 for initproc. This is
...
again useful in standalone-type environments such as Xen, where all
printf/etc calls go through the rump kernel.
2013-09-07 17:58:00 +00:00
pooka
4c0122ee7f
Also create hw.pagesize, makes sysconf(_SC_PAGESIZE) return a more
...
sensible result.
2013-09-04 17:56:08 +00:00
pooka
f754a2f110
+ don't rename rump_syscalls.*o
...
+ support RUMP_KERNEL_IS_LIBC
2013-09-03 21:32:21 +00:00
pooka
cee3de56df
regen
2013-09-03 21:30:43 +00:00
pooka
fb19198452
RUMPCOMP_USEROBJ -> RUMPOBJ_NORENAME
...
Widens the implied usage scope of the variable.
2013-09-03 19:57:02 +00:00
pooka
31b175eb03
Don't autogenerate the wrapper that is called from the rump kernel
...
local syscall entry points. The wrapper is now so big that it doesn't
get inlined (original intent for having it close to the entry points),
and autogenerating a regular function just loses in flexibility.
2013-09-03 19:55:13 +00:00
pooka
8ab637bd54
regen
2013-08-30 10:34:39 +00:00
pooka
74f1a93841
Rename RUMPTEST_BUILDSH to RUMPKERN_ONLY. Turns out not building any
...
POSIX implementations of hypercalls is useful beyond the build.sh test,
such as when building rump kernels for non-POSIX hosts.
2013-08-30 10:29:06 +00:00
rmind
8088e72932
Remove SS_ISCONFIRMING, it is unused and TP4 will not come back.
2013-08-29 17:49:20 +00:00
matt
ac1a767070
Teach this about ARMV7
2013-08-22 15:53:05 +00:00