Commit Graph

1162 Commits

Author SHA1 Message Date
pooka
80733d752e in sleepq_wake(), honor the "expected" parameter 2014-04-24 11:56:11 +00:00
pooka
d6454414fd Add a RUMP_USE_CTOR compile-time switch. If defined, use
__attribute__((constructor)) to determine which rump kernel components
and kernel modules are linked into the rump kernel.  If not defined
(default), use the regular approach with link sets.

This option is aimed to fix problems with toolchains where using link
sets is not possible because the linker does not generate the requisite
__start/__stop symbols for the link set sections (e.g. GNU gold, OS X, ...).
2014-04-23 23:25:45 +00:00
pooka
ee62fa6483 Include LIST_ENTRY() in "struct rump_component".
Main benefit: rump_component_load() can now be called from an
early-running constructor since the routine doesn't need to allocate
memory.
2014-04-23 16:17:55 +00:00
pooka
ad5b64f98f Reparent children of a dying lwproc. Fixes wpa_supplicant -B (and
most likely a bunch of other things).
2014-04-16 22:34:02 +00:00
pooka
4699345b2b apparently DFLSSIZ isn't defined on powerpc, so pull a value out of el stetson 2014-04-12 20:24:46 +00:00
pooka
d672154267 Pretend that we have slightly more reasonable stack size limits.
(we don't have stacks, that's why we pretend)
2014-04-10 22:14:03 +00:00
pooka
885b424da9 regen 2014-04-09 23:57:26 +00:00
pooka
9c11b5da42 implement lwp_create() and a few related interfaces.
main raison d'impalerment: the aio driver
2014-04-09 23:53:36 +00:00
pooka
8866e45838 initialize exec_lock 2014-04-09 23:49:27 +00:00
njoly
28bcf177dd Add compat 50 time syscalls, needed by rump sys_linux. 2014-04-04 18:20:28 +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
christos
c1ae06abab kill sprintf 2014-03-20 20:42:08 +00:00
pooka
b6db800227 remove unnecesary verbosity: s/RUMP_CURLWP_MODEL/RUMP_CURLWP/ 2014-03-16 15:30:05 +00:00
pooka
b31d33154d Use uniprocessor-optimized locking in RUMP_LOCKS_UP=yes (default: no) 2014-03-15 15:22:42 +00:00
pooka
35bcd6f8af Allow compile-time optimizations to curlwp. This can have a pretty
staggering impact on performance.  When running sendto() in a loop,
the improvement is 200k more calls per second with an inlined __thread
curlwp as opposed to the default.  In other words, it shaves off hundreds
of CPU cycles per call (~20%).  Even just eliminating the x86_curlwp()
call in favor of an inline gives an improvement of 60k calls per second.
2014-03-15 15:15:26 +00:00
pooka
c9bffc6f73 regen: time/timer related syscalls for rump kernels 2014-03-14 00:56:37 +00:00
pooka
9cb7eaee42 Allow multiple "rumpcomp_user" source modules to be specified by
introducing RUMPCOMP_USER_SRCS.  Make RUMPCOMP_USER issue a deprecation
warning, but for compat make it set RUMPCOMP_USER_SRCS=rumpcomp_user.c
for now.
2014-03-13 01:34:06 +00:00
pooka
1ac307e403 kill undesirable #ifndef _RUMPKERNEL 2014-03-11 20:32: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
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
9d7981d3bd Fix the memory limiter to work for non-pagedaemon threads again
reported by njoly
2014-03-03 16:50:28 +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
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
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
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
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
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
pooka
84093338b2 don't use temp buffer from the stack, fix the constants 2014-01-17 14:57:04 +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
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
pooka
ef738750b7 reregengen 2013-12-11 09:45:01 +00:00
pooka
4bb2a888c3 regen 2013-12-09 21:13:21 +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
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
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
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
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
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
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
njoly
4a806b5236 Regen for mknodat(2) device argument type change. 2013-10-17 18:04:40 +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
543084bf66 regen 2013-09-10 17:42:02 +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
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
matt
ac1a767070 Teach this about ARMV7 2013-08-22 15:53:05 +00:00
pooka
2eed176fe5 regen 2013-08-15 21:19:13 +00:00
matt
e9837e191d Build kobj_machdep.c 2013-08-08 06:50:24 +00:00
njoly
c74676d01d Make copyinstr/copyoutstr return EFAULT for special NULL "user"
address.
Ok pooka@.
2013-07-26 16:07:51 +00:00
matt
0ad174c063 Coldfire uses atomic_cas_generic.c 2013-07-18 22:15:45 +00:00
njoly
75ce45f852 Make RUMP_LOCKDEBUG work again.
With some help from pooka@.
2013-07-03 17:10:28 +00:00
riastradh
51ab2460e3 Remove now-needless rump cprng_strong_deplete stub.
These rump stubs need to go away at some point...
2013-07-01 20:02:15 +00:00
riastradh
6290b0987e Rework rndsink(9) abstraction and adapt arc4random(9) and cprng(9).
rndsink(9):
- Simplify API.
- Simplify locking scheme.
- Add a man page.
- Avoid races in destruction.
- Avoid races in requesting entropy now and scheduling entropy later.

Periodic distribution of entropy to sinks reduces the need for the
last one, but this way we don't need to rely on periodic distribution
(e.g., in a future tickless NetBSD).

rndsinks_lock should probably eventually merge with the rndpool lock,
but we'll put that off for now.

cprng(9):
- Make struct cprng_strong opaque.
- Move rndpseudo.c parts that futz with cprng guts to subr_cprng.c.
- Fix kevent locking.  (Is kevent locking documented anywhere?)
- Stub out rump cprng further until we can rumpify rndsink instead.
- Strip code to grovel through struct cprng_strong in fstat.
2013-06-23 02:35:23 +00:00
pooka
5b7912d506 run shutdownhooks 2013-05-31 16:16:40 +00:00
pooka
15dc8bf975 Pass enums over the hypercall interface as ints to avoid some
pathological scenarios from arising in setups where enums might be
of a different size in the rump kernel and hypervisor.
2013-05-15 14:52:49 +00:00
pooka
d0d5069c1a Add RUMPUSER_LWP_CLEAR instead of overloading RUMPUSER_LWP_SET.
This simplifies some alternative hypervisor implementations.
2013-05-15 14:07:26 +00:00
pooka
6c053402cc how did that extra asterisk get there? 2013-05-15 13:58:14 +00:00
pooka
c0581b57ac qlock can now be a regular kernel spin mutex instead of a rumpuser mutex. 2013-05-15 12:49:33 +00:00
christos
3b66f0a259 regen (stale) 2013-05-10 16:36:25 +00:00
pooka
c6aa174306 update for new hypercalls 2013-05-06 16:28:17 +00:00
pooka
5606f9bf46 Ok, maybe using int64 for nanoseconds in the (sec,nsec) tuple was
a bit too future-proof.  I think long is enough there (let's just
hope nobody redefines "nano").  Also, make seconds signed just in
case someone wants their clock to be in 1901.
2013-05-02 21:45:28 +00:00
pooka
f950fd3d52 Push rwlock upgrade and downgrade into the hypervisor where there's
at least a chance to implement them with minimal fuss.
2013-05-02 21:35:19 +00:00
pooka
fe843b82c9 g/c stale comment 2013-05-02 20:37:32 +00:00
pooka
9a6702d07c Retry enabling spin mutexes. We should be able to avoid poking the
scheduler by just making wakeup from cv_wait() honor the same locking
order as when a spin mutex is acquired though mutex_enter().
*fingers crossed*
2013-05-02 20:33:54 +00:00
pooka
939c69c331 Inform the rump kernel hypervisor of valid thread contexts so
that the implementation can allocate and release storage for them
in an optimal fashion, if necessary.
2013-05-02 19:14:59 +00:00
pooka
0af2148543 Actually, there's no point in unconditionally compiling in weak stubs
which will never be used in the NetBSD build.  Comment hyperstubs.c
out from SRCS, but retain the source module as documentation.
2013-05-01 17:52:34 +00:00
pooka
152588e3a9 Flip parameter order in the clock hypercalls to make them consistent
with everything else wrt in/out parameters.
2013-04-30 16:03:44 +00:00
pooka
cb7ea2b5af Stub out anonmmap too.
This is a clever trick to enable me to avoid having to document
that interface.  I seriously doubt it's relevant beyond a POSIX
env where it's required by the proplib client-side implementation
which expects it can do munmap() on a return value from a proplib
call.
2013-04-30 14:28:52 +00:00
pooka
70e4afeadb weak stubs for optional hypercalls 2013-04-30 13:54:53 +00:00
pooka
c46eb786b4 In kthread_create(), pass the priority and cpu index down to the
rump kernel hypervisor (though the current implementation doesn't take
advantage of them).
2013-04-30 13:29:28 +00:00
pooka
7a433e9e54 add missing demogorgon 2013-04-30 00:29:19 +00:00
pooka
32a34307fa Make hypercall calling conventions consistent: iff a hypercall can fail,
it returns an int containing the error value.
2013-04-30 00:03:52 +00:00
pooka
86c3d1928f Make rumpuser_dl_bootstrap() optional for platforms which don't
provide dynamic linking.
2013-04-29 18:00:19 +00:00
pooka
810cff61f8 Replace the various "get info from hypervisor" interfaces with one
unified rumpuser_getparam(), and make it return a plist.  The
contents can come e.g. from the env or a config file.  Make
identifiers starting with an underscore denote system identifiers
which must be implemented by hypervisor. (yea, j/k about the plist bit)
2013-04-29 17:31:05 +00:00
pooka
e43fbdb36d remove routine not meant to be committed 2013-04-29 14:53:32 +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
e5f47ee8a8 Disable spin mutexes for now. They need some more work in the case
where a spin mutex is used as an argument to cv_wait().  Plus, it
would be good to sprinkle some asserts to make sure that the cpu
context is not released while holding on to a spin mutex.  All in
all, should not be difficult, but needs careful testing and bravery
(the scheduler will bite your legs off).
2013-04-29 09:30:18 +00:00
pooka
457381fad1 Appearances count: spell "IPL_NONE" correctly. 2013-04-28 23:21:00 +00:00
pooka
fcfe93893f One more mutex which is used as a spin mutex and therefore needs
to be tagged as one, lest the mighty assert smites thee.
2013-04-28 23:19:33 +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
92384a689b Make sure spin mutexes get allocated as spin mutexes (the hypervisor
asserts it now).
2013-04-27 22:26:57 +00:00
pooka
9dd496792d make the random hypercall more generic 2013-04-27 16:56:29 +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
319110a96f Get rid of the rump__init() macro. it was never useful and just makes
debugging less obvious.
2013-04-27 15:13:11 +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
para
82aa1e7edd calculate vnode cache size based on the resource it gets allocated from
this stops setting kern.maxvnodes to high so it exhausts available space in kmem

http://mail-index.netbsd.org/tech-kern/2013/03/08/msg015095.html
2013-03-18 13:36:21 +00:00
pooka
96bf8edf0f Allow Makefile.rump to append to SRCS. 2013-03-15 12:09:58 +00:00
pooka
459d6cf13a Use kern_malloc.c instead of the relegated allocators in memalloc.c.
Previously this didn't make sense due to the use of kmem_map, but the
new malloc is more dynamic and puts sense into using it.
2013-03-10 17:05:12 +00:00
pooka
6dea01d790 Don't allow kernel threads to run before all CPUs have been initialized
to avoid them getting scheduled on non-initialized CPUs.
2013-03-10 16:51:31 +00:00
pooka
b9f7ec4123 Always include subr_vmem.c, even with RUMP_UNREAL_ALLOCATORS=yes
(previously it was just missing in that case).

Record wchan to unreal pool_init() to avoid memory leak warning.
2013-03-10 16:27:11 +00:00
pooka
a123f6ce4a Make RUN_ONCE actually run only once. Also, remove a "slightly"
outdated comment.
2013-03-10 11:21:05 +00:00
pooka
4b0fe89206 Ensure that rump kernel component constructors from the main object
get processed.  This applies to ones which were linked statically.
Unfortunately, that's where it got a bit tricky, since the dlsym()
interface searches the handle and all its dependencies.  For the main
object the list of dependencies includes all the dynamic rump kernel
components that were included when the binary is linked.  So, a long
story short, make only one pass through the objects to harvest all the
component entries, weed out the dupes, and initialize components from
an in-memory dupe-free list when so requested.
2013-03-08 19:04:27 +00:00
pooka
72b9cef9f5 Make the device node creation routines function pointers which default
to nullop without VFS.  This relaxes the dependency between VFS and many
components, some of which can be used perfectly fine without VFS.
2013-03-07 22:12:34 +00:00
pooka
f3e23bf8bf regen 2013-03-07 19:18:08 +00:00
pooka
e1ef94498a set e_nsysent 2013-03-07 19:07:05 +00:00
pooka
9c88b5035a *** empty log message *** 2013-03-07 18:50:17 +00:00
pooka
5ca5ef22ee Support multiple syscall emuls.
Rump kernels with only local clients have it easy, since they have to
support at most two syscall vectors (some calls such as mount/unmount
can be made only through the "native" NetBSD vector).  Remote clients
are a whole different tin of green beans.  This change addresses local
clients only.
2013-03-07 18:49:13 +00:00
pooka
25c9d82e99 Force references to the component setlist __start/__stop symbols so
that they get generated for rump kernels constructed from static libs.
2013-03-07 18:33:27 +00:00
yamt
6bac58174d simplify code
add a comment
2013-03-06 11:42:18 +00:00
pooka
6d2951da72 Add a dummy component to ensure that at least one component is present
in every possible rump kernel configuration.
2013-03-03 13:11:33 +00:00
martin
7587f0bb0d Stopgap fix to make rump cooperate with pserialize, may be revisited later.
Patch from pooka, ok: rmind. No related regressions in a complete atf test
run (which works again with this, even on non x86 SMP machines).
2013-02-19 09:04:53 +00:00
para
19d40baab3 make vmem(9) ready to be used early during bootstrap to replace extent(9)
pass memory for vmem structs into the initialization function and
do away with the static pool of vmem structs.
remove special bootstrapping of the quantum cache pools of the kmem_va_arena
as memory for pool_caches is allocated via pool_allocator_meta which is
fully operational at this point.
2013-01-29 21:26:24 +00:00
para
39dafdefa9 revert previous commit not yet fully functional, sorry 2013-01-26 15:18:00 +00:00
para
cca299e0a3 make vmem(9) ready to be used early during bootstrap to replace extent(9).
pass memory for vmem structs into the initialization functions and
do away with the static pools for this.
factor out the vmem internal structures into a private header.
remove special bootstrapping of the kmem_va_arena as all necessary memory
comes from pool_allocator_meta wich is fully operational at this point.
2013-01-26 13:50:33 +00:00
christos
1d7af1d4c0 use the definitions from lock.h 2013-01-22 22:10:22 +00:00
rmind
9f60dd2442 Provide xc_send_ipi() routine in RUMP, which is required for high-priority
xcall(9) mechanism.  It is emulated using low-priority xcall(9).
2013-01-20 17:09:47 +00:00
pooka
da698c0c16 regen 2013-01-17 21:31:11 +00:00
pooka
5164f1abe4 fix typo 2013-01-14 16:52:35 +00:00
pooka
76a5d8ab57 Don't use __weak_alias where the component framework is sufficient. 2013-01-14 16:45:47 +00:00
pooka
708fe0a7b0 Add some asserts to component initialization. 2013-01-14 16:35:06 +00:00
pooka
db5793172f Take into account armv6 hacks from common/lib/libc/arch/arm/atomic to
allow this to build with -march=armv6k
2012-12-30 23:52:12 +00:00
pgoyette
e1d0e8f360 File is common between pp6 and ppc64 ports, so define ARCH_ELFSIZE
accordingly.

From christos@, resolves the latest build break
2012-11-24 18:16:15 +00:00
pooka
e51fe9c308 kill some -Wunused-but-set-variable warnings 2012-11-13 20:10:02 +00:00
pooka
28550d5d48 Add vdrain to the list of kernel threads. 2012-11-04 14:40:47 +00:00
pooka
352e4b404d Use a table to check for kernel threads. 2012-11-04 14:40:18 +00:00
apb
f669c7071f Add references to ${_NETBSD_VERSION_DEPENDS} for files that
need to be re-created when the NetBSD version changes.  They
will also be re-created when any build settings are changed.
2012-11-04 11:12:31 +00:00
chs
cbab9cadce split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
2012-10-27 17:17:22 +00:00
pooka
bea63a3d10 Gather some statistics about biglock usage. 2012-10-09 13:35:50 +00:00
christos
8e4cb02016 regen 2012-10-02 01:46:20 +00:00