Commit Graph

514 Commits

Author SHA1 Message Date
pooka
e8b4276abd Reset proc0 cwdi after unmount. Makes is possible to mount/unmount/mount
in one process.
(XXX: this code is still horrible)

problem reported by stacktic
2008-12-31 00:57:15 +00:00
pooka
dfa6b36e0e Move list of rump-uses-kmod archs to bsd.own.mk for wider consumption. 2008-12-30 21:31:10 +00:00
pooka
3b189207d8 Switch amd64 rumps to the kernel ABI. 2008-12-30 19:05:40 +00:00
pooka
593f6357c6 -I${RUMPTOP}/librump/rumpkern so that build from src/lib works.
noted by Geoff Wing on current-users
2008-12-30 09:49:21 +00:00
pooka
9c5307acaa properly handle kthread_exit() 2008-12-30 00:36:38 +00:00
pooka
9fd33357b3 Provide ifunit stub in the same place as others. 2008-12-29 23:18:35 +00:00
pooka
8a1a1e1e27 * make features match those of the nfs module just to have them in-sync
* remove stubs.c since all are now provided by rumpnet
2008-12-29 23:17:42 +00:00
pooka
14d6fd5a0b __weak_alias some more networking symbols for the benefit of the
nfs boot code in case not using the full networking stack.
2008-12-29 23:12:11 +00:00
pooka
f8829b7dcb Switch i386 away from rump/include/machine. This means that rump
on i386 now uses the native kernel ABI.  This in turn means that
rump modules and kernel modules are binary equivalent and can be
used interchangeably.
2008-12-29 22:16:15 +00:00
pooka
d19a006d1c Register a dummy block device for rump, since some file systems do
a sanity check to see if the block device exists.  This dummy block
device should eventually replace rump specfs.
2008-12-29 20:39:49 +00:00
pooka
b03bd9bf49 We are conseptually a module, so -D_MODULE. Group CPPFLAGS better. 2008-12-29 18:53:57 +00:00
pooka
614c33507f include subr_devsw in rumpkern 2008-12-29 17:45:55 +00:00
pooka
8583cae233 Rename specfs_lock as device_lock and move it from specfs to devsw.
Relaxes kernel dependency on vfs.
2008-12-29 17:41:18 +00:00
pooka
841fb873aa sprinkle static 2008-12-29 14:35:05 +00:00
cegger
beb4d1e5cc undo turn malloc flags to enums.
Requested by christos.

Keep malloc flag defines in kernel section.
2008-12-21 17:49:55 +00:00
cegger
c9114d086d Turn malloc flags into an enum. Fixes build breakage. 2008-12-20 09:17:55 +00:00
pgoyette
9c68331911 Store config(1)'s root filesystem type as a text string rather than
embedding the address of its xxx_mountroot() in swapnetbsd.c.  This
permits booting of kernels with hard-wired filesystem type even if the
filesystem is in a loadable module (ie, not linked into the kernel
image).

Discussed on current-users.  Tested on amd64 and i386 with both hard-
wired and '?' filesystem times, and on both modular and monolithic
kernels.

Thanks to pooka@ for code review and suggestions.

Addresses my PR kern/40167
2008-12-19 17:11:57 +00:00
pooka
e222420f88 CTASSERT kcondvar size 2008-12-19 09:50:04 +00:00
pooka
cf6dee5091 fix build
(hi thorpej!  the first one is always free ;)
2008-12-19 09:33:40 +00:00
pooka
7b7b68ba71 include vfs_xattr.c 2008-12-19 00:57:24 +00:00
pooka
52d070140e include snprintb 2008-12-18 11:16:36 +00:00
pooka
74bf412512 .PATH maintenance 2008-12-18 11:09:34 +00:00
pooka
a768afd60b __KERNEL_RCSID 2008-12-18 00:24:12 +00:00
pooka
08c8c2d4d4 __RCSID 2008-12-18 00:21:52 +00:00
pooka
df8e80be1a Separate the timer thread and soft interrut workers. Use a dynamic
size pool of workers to make sure there are enough for processing
the scheduled soft interrupts.
2008-12-18 00:12:00 +00:00
pooka
c60be09da1 If available (__NetBSD__), use pthread_setname_np() to set the
thread name for kthread_create().
2008-12-17 20:16:28 +00:00
pooka
b1e593bee5 Pick PPC_OEA over PPC_IBM4XX. I've decided I like it more.
(plus it hopefully builds without source changes)
2008-12-16 23:49:48 +00:00
pooka
49751f013b remove some completed TODO items and add new ones 2008-12-16 23:34:28 +00:00
pooka
abe4c2aeb6 liberate trailing whitespace 2008-12-16 23:17:17 +00:00
pooka
994144641d -Isys/arch is used in kernel builds 2008-12-16 23:16:46 +00:00
pooka
f5ffdf8399 Mark pages busy during VOP_PUTPAGES(). Deals with KASSERT in nfs write. 2008-12-16 14:48:31 +00:00
pooka
1355265509 Make rumpflushva flush only the atop info for a certain uvm object.
Better, but still not completely race-free (if two threads call
RUMP_VOP_PUTPAGES() directly for the same vm object).
2008-12-16 14:07:25 +00:00
pooka
af473973e4 Also assign a value to pmap_extract_p.
(3rd time's the charm, maybe i finally got it right?)
2008-12-15 00:12:54 +00:00
pooka
864681f9a5 Fix another error in sparc pmap_extract_p, as prompted by mrg 2008-12-15 00:10:48 +00:00
pooka
649c12eb68 If the arch uses __BSWAP_RENAME, provide non-namespaced kernel
symbols which just call the libc symbols.  Allows to get rid of
rump machine/bswap.h.

XXX:
1) this is unlikely to work on non-NetBSD
==>
2) should look into including libkern in librump
2008-12-14 19:58:29 +00:00
pooka
5ca3e3371e * fix pmap_extract() prototype
* sparc64 also defines __sparc__.  deal with it
2008-12-13 17:11:34 +00:00
pooka
1bc395ab02 Get rid of local machine/{mutex,rwlock}.h files by treating the
object storage as a single pointer (all archs have at least one
uintptr_t in the objects).

(forgot to commmit with others)
2008-12-13 15:37:13 +00:00
pooka
22c85f18af Get rid of local machine/{mutex,rwlock}.h files by treating the
object storage as a single pointer (all archs have at least one
uintptr_t in the objects).
2008-12-13 15:34:48 +00:00
pooka
0d12ba9def Add a few MD ifdefs into the rump pmap stubs to enable us to get
rid of the local pmap.h and unify the pmap ABI with the kernel.
(XXX: compiles but doesn't work on vax)

Thanks once again to Greg Oster for helping with testbuilds.
2008-12-12 18:46:43 +00:00
pooka
0e6117b96f Apparently some ports rely on cpu.h including machine/pcb.h. 2008-12-11 16:25:23 +00:00
pooka
7243af74cb Make non-mpsafe threads KERNEL_LOCK() before starting execution. 2008-12-10 18:47:01 +00:00
pooka
37e12a5643 Make kernel biglock recursecount volatile. 2008-12-10 14:55:25 +00:00
pooka
ee352f3d33 Make kernel_pmap_ptr a const. Requested by steve_martin. 2008-12-10 11:10:17 +00:00
pooka
29d439f898 Make pmap_kernel() a MI macro for struct pmap *kernel_pmap_ptr,
which is now the "API" provided by the pmap module.  pmap_kernel()
remains as the syntactic sugar.

Bonus cosmetics round: move all the pmap_t pointer typedefs into
uvm_pmap.h.

Thanks to Greg Oster for providing cpu muscle for doing test builds.
2008-12-09 20:45:44 +00:00
pooka
6a5161dfcb Remove rump cpu_counter.h in favour of the arch native one. I'm
sure there was a reason why I originally added this, but I can't
find what would break without it now.  If something does pop up,
I'll fix it properly this time instead of adding silly headers.
2008-12-08 13:31:58 +00:00
pooka
316be31a2e Instead of punishing all archs for a fake vmparam.h, punish only
evbppc for its insolence and pick a ppc cpu family at random in
Makefile.rump.
2008-12-08 12:57:33 +00:00
pooka
839034650f * hang all mountpoints from rootvnode in our virtual mount hierarchy
* set VV_ROOT for the rootvnode to make getcwd realize it has met
  its journey's end
2008-11-27 16:40:40 +00:00
pooka
31b0163f0d Add nfs server rump library.
(not descended into on purpose)
2008-11-27 14:14:30 +00:00
pooka
35861926cc Link in a networking domain, required by nfs. 2008-11-27 11:31:59 +00:00
pooka
f50af27351 Move more vfs-related vm routines from rumpkern to rumpvfs. 2008-11-27 08:13:15 +00:00