pooka
4465a9263d
Rename _rumpuser_malloc to rumpuser__malloc so that all exported
...
rumpuser symbols start with "rumpuser".
(no major bumps or compat will be provided)
2009-01-07 19:49:48 +00:00
pooka
1dbafce17b
Add md crud to allow libkern softfloat code to build.
...
And while here, make alpha use the real elf relocation code.
2009-01-06 17:04:01 +00:00
mjf
89df864a44
Add missing dollar sign ($) for $NetBSD$ tag.
2009-01-06 15:52:27 +00:00
pooka
5e4b7cd86e
powerpc md stuff for libkern
2009-01-06 13:20:34 +00:00
pooka
835b96d4ab
adjust LD32DIR comment. per discussion with mrg
2009-01-06 01:00:57 +00:00
pooka
80508c50c5
Rename malloc() to kern_malloc() to avoid name conflict with libc.
...
Now it is possible to use the kernel linker with rump.
2009-01-05 21:42:37 +00:00
pooka
6ddc756654
Assemble with _LOCORE.
2009-01-05 14:35:47 +00:00
pooka
2f633898ae
g/c unused rumpuser bswap routines
2009-01-05 01:51:31 +00:00
pooka
b319317906
Include libkern contents in librump.
2009-01-04 20:30:21 +00:00
pooka
3c58d5b25f
My clever hack was not enough. Disable DELAY via ifndef _RUMPKERN in
...
subr_prf until I manage to get all archs in line with a proper MI
signature.
2009-01-02 22:03:00 +00:00
pooka
055c86bdde
Sauce with some kludges:
...
* revert rev 1.68 of emul.c: delay() is hopelessly MD and needs
whipping (not the fun kind)
* #undef DELAY in cpu.h
This will hopefully fix build for all archs and give me time to
hop through our 46521 fine archs and edit the headers.
2009-01-02 16:18:59 +00:00
pooka
b55ef665bd
Add kludge to allow amd64 compat to build. This is not a proper
...
fix which most likely requires some compat lib build infra toggle.
2009-01-02 14:03:15 +00:00
pooka
624b664af1
Export delay, _delay and delay_func symbols to attempt to appease
...
the macro mania set over all architectures.
2009-01-02 11:39:26 +00:00
pooka
72858b67bf
Define -DMODULAR in Makefile.rump instead of the sys/rump/librump
...
Makefile.inc so that it gets picked up by UPDATE=1
2009-01-02 11:13:38 +00:00
pooka
23bce3395a
printf needs IPL_HIGH
2009-01-02 10:45:26 +00:00
pooka
167269d42c
Include kernel printf routines in rump instead of relying on the
...
magic libc symbol. This also allows to bid farewell to subr_prf2.c
and merge the contents back to subr_prf.c. The host kernel bridging
is now done via rumpuser_putchar().
2009-01-02 02:54:13 +00:00
pooka
b5d970336b
disable strict aliasing to mirror kernel build flags
2009-01-01 22:16:35 +00:00
pooka
bd4f61f139
add missing "arch/" as noted by a few people
2009-01-01 20:30:45 +00:00
pooka
3945d47397
Purge multiple kernel opt files.
2009-01-01 19:43:57 +00:00
pooka
69a1713a8e
fix format
2009-01-01 19:33:40 +00:00
pooka
afadc531af
missed cvs add in previous commit:
...
Define MODULAR for rump core components. This enables module
loading via the kernel module framework (instead of dlopen()).
For now it only works on amd64 and i386, but for the rest it should
just be a matter of including the relevant kobj_machdep.c modules
from the kernel sources.
2009-01-01 19:11:18 +00:00
pooka
9a722ef702
Define MODULAR for rump core components. This enables module
...
loading via the kernel module framework (instead of dlopen()).
For now it only works on amd64 and i386, but for the rest it should
just be a matter of including the relevant kobj_machdep.c modules
from the kernel sources.
2009-01-01 19:07:43 +00:00
pooka
360af828c1
Rename i386 and amd64 {cpu,spl}.c to rump{cpu,spl}.c to avoid
...
name collisions with other source files in the kernel tree.
2009-01-01 16:50:30 +00:00
pooka
c26a0d893f
update description of include
2008-12-31 13:18:06 +00:00
pooka
94dc15e204
Include rb.c instead of relying on it being in libc.
2008-12-31 13:08:57 +00:00
pooka
cb118e551d
yank debug printf from previous
2008-12-31 00:57:45 +00:00
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
pooka
2ee7b4e103
Remove the whole magic ubc window thingie. All file systems use
...
ubc_uiomove() now, so we can hook ourselves there.
2008-11-27 08:05:27 +00:00
pooka
23046e71b2
Add a few symbols required by nfsd
2008-11-26 15:04:02 +00:00
pooka
e40a46d006
regen
2008-11-26 15:02:05 +00:00
pooka
eaff187ca4
Add dummy pr_ctloutput. I'm sure I had one at some point, since
...
it's required for rump_nfs to work, but I guess I lost it somewhere.
(yes, it should actually be implemented also)
2008-11-26 07:19:48 +00:00
pooka
d6457e83e1
Make sockin radix-capable.
2008-11-25 20:42:01 +00:00
pooka
eebcd28057
Support PRU_BIND / PRU_LISTEN / PRU_ACCEPT in sockin.
2008-11-25 20:39:57 +00:00
pooka
50176705eb
Take reference for proc0 rootdir vnode.
2008-11-25 20:35:46 +00:00
pooka
e346dcad76
"Manually" call rn_init() to make sure it's done. The real kernel
...
hooks it up with domain constructors in a fascinating way.
2008-11-25 18:44:05 +00:00
pooka
ec538307e6
fix comment (no functional change)
2008-11-25 18:38:08 +00:00
pooka
922d39c2b2
Heave-ho radix.c from librumpnet_net to librumpnet.
2008-11-25 18:36:08 +00:00
pooka
dbeec14d9d
Make sure we write a positive length of data.
2008-11-21 18:02:17 +00:00
pooka
bedcc68e65
rump_vfs_load() is really rump_module_load(), so call it that and
...
move it from rumpvfs to rumpkern.
2008-11-21 06:09:51 +00:00
ad
92ce8c6a3d
Make the emulations, exec formats, coredump, NFS, and the NFS server
...
into modules. By and large this commit:
- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
2008-11-19 18:35:57 +00:00
pooka
e10fef6cd2
Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer
...
include the file system code. File system rumps explicitly need
to include rumpvfs from now on.
2008-11-19 14:10:48 +00:00
ad
20514c29be
+evcnt_detach
2008-11-19 12:20:40 +00:00
pooka
7fca80b0ff
note rumpnet
2008-11-18 13:08:34 +00:00
pooka
72b66cb31e
Pass biodone() to rumpuser as a callback instead of hardcoding it.
...
Also, explicitly init rumpuser async io thread.
2008-11-18 12:39:35 +00:00
pooka
48d146fba6
cwd is logically a vfs concept, so take it out from the bosom of
...
kern_descrip and into vfs_cwd. No functional change.
2008-11-18 11:36:58 +00:00
pooka
d76a9369e5
Remove rump_vp locking interfaces, use RUMP_VOP instead.
2008-11-17 13:24:14 +00:00
pooka
11a6424f3c
regen
2008-11-17 13:20:39 +00:00
pooka
b81cfcf61f
adjust comments out of lock.h
2008-11-17 13:20:22 +00:00
pooka
a1e0d479f4
regen
2008-11-17 13:11:24 +00:00
pooka
aab859210b
include those appetizing lockmanger flags
2008-11-17 13:10:44 +00:00
pooka
50cbbdb2d5
No need to .WAIT anymore: headers are done in a separate pass and
...
binaries are no longer in this subtree.
2008-11-17 10:21:44 +00:00
pooka
e349d81775
Tune CFLAGS to a consistent default.
2008-11-17 09:03:51 +00:00
pooka
fa86dc99d5
reregen to get those most important rcsids right
2008-11-17 08:59:33 +00:00
pooka
e45e5fef43
Descend into include/rump and install headers.
2008-11-17 08:54:39 +00:00
pooka
20a993658a
Move rump public headers to include/rump
2008-11-17 08:53:12 +00:00
pooka
85eff24b94
regen
2008-11-17 08:52:18 +00:00
pooka
0a380919d5
Add script to statically generate rumpdefs.h instead of doing it buildtime.
2008-11-17 08:49:55 +00:00
pooka
e5da604114
Add more verbose commentage to the module thread non-creation.
2008-11-17 08:43:41 +00:00
pooka
80610738b1
Ignore the module unload thread.
2008-11-17 08:41:28 +00:00
pooka
98bf46c51a
<sys/buf.h> police
2008-11-16 18:44:07 +00:00
pooka
9c3d490eb5
regen
2008-11-16 18:41:05 +00:00
pooka
ab7329f0f7
explicitly include <sys/buf.h> since we explicitly use it
2008-11-16 18:37:28 +00:00
pooka
e6f5280c8d
Add comments on how to do tap and bridging required for sensible
...
full networking stack operation.
2008-11-14 14:24:00 +00:00
pooka
1941578e57
slap some sort of copyright here
2008-11-14 14:17:53 +00:00
pooka
fe762e15b2
Clearly state that VOP_BMAP panic in putpages is because I'm a lazy bum.
...
(although I can't really think of any scenario where VOP_BMAP could
legally fail)
2008-11-14 11:57:07 +00:00
christos
d296aa9163
fix compilation and lint warnings.
2008-10-30 01:54:24 +00:00
minskim
13a938dd6c
Remove trailing whitespace.
2008-10-26 18:39:01 +00:00
apb
f46c1de7cb
Use ${TOOL_SED} instead if plain sed in Makefiles.
2008-10-25 22:27:34 +00:00
pooka
afbf917f75
Alpha requires 8k pages for mbuf size calculation to work (maybe
...
sparc64 too?). Make it so.
2008-10-16 22:05:12 +00:00
wrstuden
7e10f527c2
Regen syscall tables. I forgot to do it after revivesa. While pooka
...
did some, not all are regenerated. Do them all at once for consistency.
2008-10-16 20:12:23 +00:00
christos
75e8ce56c6
revert stack protector change.
2008-10-16 19:35:07 +00:00
pooka
7555810672
regen: ioctl
2008-10-16 19:33:11 +00:00
pooka
6d68e64d68
Add an example of how to configure the virtual interface address
...
and the default gateway.
(this will probably go into some library eventually, but now it'll
just sit here as an example)
2008-10-16 19:28:26 +00:00
pooka
710b373bce
Before I sort all the COMPAT_RIDICULOUSLYPREHISTORIC ioctl stuff
...
out, add a weak alias for ifunit() so that utils can be linked with
sockin.
2008-10-16 19:27:24 +00:00
pooka
a208c2294a
Deal with the ld.so/linkset brokenness and compile all of libnet
...
and libnetinet into a big bunch for now. If they were separate
libraries, the DOMAIN_DEFINE() in the latter on the linkline would
not get noticed at "boot" time because of the abovementioned
brokenness. One of these days I'll add code to dlopen() the
libraries and resplit them, but this will allow things to work
until then.
2008-10-16 19:14:51 +00:00
pooka
2690ed220b
Ignore stack-protector, since with nfs_bio.c it gets its life force
...
drained out. Yes, this is a quick kludge, should rather fix
nfs_bio.c to be less silly.
2008-10-16 19:06:40 +00:00
pooka
19b5350e77
call rump_netisr_init()
2008-10-16 16:41:07 +00:00
pooka
346ffecff3
...... except that the compat converter is actually supposed to convert
...
the ioctl, not return random garbage. It returning random garbage
causes an interface with an interesting netmask to get set and
hence a very interesting effect when you try to add a route for
your system.
All in all, a very healthy debugging session (if you're a vampire
or a wraith).
2008-10-16 16:40:39 +00:00
pooka
a60de16dcb
... except that compat_ifioctl() must know how to route the
...
commands further.
2008-10-16 15:02:10 +00:00
pooka
61c2d7025c
Add a few compat stubs. They shouldn't be required at all, but I
...
don't currently have the time to wage a holy war against how the
kernel decides it wants them.
2008-10-16 14:38:39 +00:00
pooka
8447026c71
appease 64bit gcc
2008-10-16 13:36:06 +00:00
pooka
37b61acf1e
* descend into rump/net
...
* descend into fs/lib/libnfs
2008-10-16 09:29:43 +00:00
pooka
ce2bb4bac6
Add a prototype to allow this to build (will be moved to a better
...
place later).
2008-10-16 09:25:30 +00:00
pooka
e66325797b
kill default DBG=-g
2008-10-16 09:24:51 +00:00
pooka
47c581b572
nfs_boot calls some networking stack routines directly. Since rump
...
will not invoke nfs_boot in the foreseeable future, provide those
routines as stubs in case sockin is used instead of the real
networking stack.
2008-10-15 22:25:26 +00:00
pooka
2d1a1a1ecf
Don't descend into rumptest automatically. Otherwise a manual
...
"make install" in this directory does some funnies.
2008-10-15 20:41:11 +00:00
pooka
1ff56ab29e
One more init I happened to forget: iostat_init()
2008-10-15 20:15:37 +00:00
pooka
cf82732ba2
Revert weird revivesa merge botch. (Hi Bill!)
2008-10-15 13:57:03 +00:00
pooka
edfec78484
add -lrumpnet
2008-10-15 13:11:45 +00:00
pooka
8fb0c4b043
Add support bits necessary for rumpnet functionality.
2008-10-15 13:04:26 +00:00
pooka
f7c6dc5e73
provide rumpuser_net_connect()
2008-10-15 13:02:29 +00:00
pooka
687fd3f77a
regen: few networking calls
2008-10-15 13:02:01 +00:00
pooka
ab368d7178
Add the basic rump networking library, which provides e.g. sockets
...
and mbufs. This is required by all network-using rump applications.
2008-10-15 13:00:39 +00:00
pooka
ba12d8328e
Call rump_sys_setsockopt(SO_RCVTIMEO) for el-cheapo "async" socket i/o.
2008-10-15 11:45:35 +00:00
pooka
7dd6651a0a
Mostly support TCP, mostly meaning "client-side TCP", since listen,
...
accept etc. is not supported yet. Disconnect is not really supported
either, but doesn't matter in most cases.
2008-10-15 11:43:38 +00:00
ad
1ec58d56ef
- Rename cpu_lookup_byindex() to cpu_lookup(). The hardware ID isn't of
...
interest to MI code. No functional change.
- Change /dev/cpu to operate on cpu index, not hardware ID. Now cpuctl
shouldn't print confused output.
2008-10-15 08:13:17 +00:00
wrstuden
4fb41e761e
Merge wrstuden-revivesa into HEAD. Catch some files that I forgot
...
to revive on HEAD in previous commit.
2008-10-15 06:52:38 +00:00
wrstuden
fc7511b00e
Merge wrstuden-revivesa into HEAD.
2008-10-15 06:51:17 +00:00
pooka
fe413fd0f6
+IPL_SOFTNET
2008-10-14 14:09:29 +00:00
pooka
6fd4c68b67
Add some more trivial emulations.
2008-10-14 10:42:27 +00:00
pooka
a48233737f
score some stubs
2008-10-14 10:32:38 +00:00