Commit Graph

247 Commits

Author SHA1 Message Date
ad
1c3c41f771 +evcnt_attach_dynamic 2008-04-11 15:24:48 +00:00
ad
481e4d16cb More stubs. 2008-04-11 15:23:45 +00:00
pooka
01c429027f Workaround gcc -Wunitialized bug for -Osomething compilations.
PR lib/38385, Matthew Mondor
2008-04-08 08:25:49 +00:00
matt
6c93bdee60 Add a device_xname() stub. 2008-04-06 05:17:54 +00:00
drochner
76ad1614e9 remove useless passing of the lwp from the KERNEL_LOCK() ABI
(not the API; this would be easy as well)
agreed (a while ago) by ad
2008-04-01 19:49:31 +00:00
ad
2ffc44f47b Regen. 2008-03-27 17:14:21 +00:00
yamt
91ae756395 - for some ports, especially for ones without pmap_growkernel,
buf_memcalc is used by bootstrap as well.  fix NULL dereference for them.
- limit kva usage for each cache to 20% of vm_map.  XXX a bit arbitrary.
- add a comment.
2008-03-25 23:21:42 +00:00
yamt
ef630703b1 regen. 2008-03-24 23:47:06 +00:00
martin
99c43f077e Adapt to sel* changes 2008-03-24 19:40:18 +00:00
yamt
2acbe71698 regen. 2008-03-24 12:25:42 +00:00
rmind
42c415f8f1 pool_cache_init: Remove the alignment of pc according to the CACHE_LINE_SIZE,
which is not useful for rump.  This fixes the pool_cache_destroy() which was
freeing the modified pointer, instead of the original one.

OK by <pooka>.
2008-03-23 14:39:17 +00:00
yamt
c3c197ba35 when calculating some cache sizes, consider the amount of available kva.
PR/33185.
2008-03-23 14:12:39 +00:00
ad
53d9c2f69b Update for select/poll changes. 2008-03-22 19:27:23 +00:00
ad
141056103a Er, regen... 2008-03-21 22:12:13 +00:00
ad
a9ca7a3734 Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.
2008-03-21 21:54:58 +00:00
bjs
718a9a20d9 Add lwp_unsleep from kern/kern_lwp.c so that this builds. ok ad@ 2008-03-19 00:40:34 +00:00
pooka
0b82eddb8b Reorder a few init bits into a better order to make syspuffs work again. 2008-03-18 15:16:22 +00:00
pooka
546bf50253 Cache referenced rootvp in struct ukfs. Makes it possible to run
pre/postcall wrapper around the exported namei, since postcall no
longer needs to execute VFS_ROOT (which is a bad thing to do while
potentially holding on to a locked vnode, mmkay).
2008-03-13 14:24:30 +00:00
pooka
e8401439ac Implement all ukfs interfaces (except getdents, that's a bit more
tricky) with the help of rump system calls instead of calling namei
by themselves.  Trust me when I say it was non-trivial to get the
namei calls right.
2008-03-12 21:37:15 +00:00
pooka
b590aae6d8 Support chdir. This is useful for example when testing and not
wanting to stress namei() so much as test individual ops.
XXX: it should be implemented per calling thread, not per fs.
2008-03-12 14:49:19 +00:00
pooka
8ca4306537 Support multiple file systems within one process with ukfs by using
a "chroot" for each file system.
2008-03-12 11:17:33 +00:00
lukem
471f389be3 Add -I${LIBRUMPDIR} to fix objdir builds. 2008-03-12 05:11:51 +00:00
pooka
3f429ae81b Compile rump_syscalls, use them in a few places. 2008-03-11 22:57:26 +00:00
pooka
5a2a7c7039 gen 2008-03-11 22:53:54 +00:00
pooka
a7ece3ec53 Backup some fixes for recent breakage from local tree. Also some
other improvements such as exporting the real kernel namei and
using that in ukfs instead of the homegrown heap'o hacks namei.
"etcetc".
2008-03-11 10:50:16 +00:00
ad
6ae89ed2af +cpu_lookup_byindex 2008-02-27 17:02:56 +00:00
ad
5485a8d6a0 Remove call to sched_yield() to fix compiler warnings. 2008-02-19 20:37:09 +00:00
ad
99f27439b5 Implement yield(). 2008-02-15 23:36:26 +00:00
ad
74d14c2433 Add dummy hardclock_ticks. 2008-02-15 13:07:02 +00:00
ad
aeeed1e5b6 Make it compile. 2008-01-30 14:57:24 +00:00
ad
508b2997d7 Fix pasto. Spotted by pooka@ 2008-01-30 10:22:02 +00:00
ad
3490efcc63 Replace struct lock on vnodes with a simpler lock object built on
krwlock_t. This is a step towards removing lockmgr and simplifying
vnode locking. Discussed on tech-kern.
2008-01-30 09:50:19 +00:00
pooka
bc13687cf3 default owner to getuid() 2008-01-29 18:17:21 +00:00
pooka
4f8496ecf6 compile genfs_vfsops.c (hi dh2 ;) 2008-01-28 15:48:18 +00:00
pooka
cc7f05eb50 Do puffs_fakecc instead of puffs_usethreads for now. 2008-01-28 11:52:38 +00:00
pooka
eb6074e41f Replace vrelel() 010101-mania with a flags parameter. However,
leave flags unimplemented for a while (no change in functionality).
2008-01-27 22:47:31 +00:00
pooka
2ff7c33801 honor pager locking protocol in uao_detach() 2008-01-27 20:10:53 +00:00
pooka
18e91c156a Don't fool around when recycling vnodes, simply override refcount
to 1, hold on tight to your hat, and call recycle.  The reason is
that we might pick up extra references such as from lookup and we
don't really care about tracking those.  For example with p2k,
puffs in the kernel already does all the refcounting we could ever
dream of, and therefore it's left to the client and unnecessary.
2008-01-27 20:01:29 +00:00
pooka
67b0c1ab9c unlock vp in error branch 2008-01-27 19:19:42 +00:00
pooka
fb3107360b Use vfs_subr.c from sys/kern. This brings differences in the vnode
life cycle between rump and a real kernel to a minimum.
2008-01-27 19:07:20 +00:00
pooka
052fd49d29 Fix locking botches: take vm object lock before calling pager,
not inside the pager.
2008-01-27 00:16:22 +00:00
pooka
b7b052548e Nuke local copy of getcwd_common(), we compile in the real thing now. 2008-01-25 06:43:30 +00:00
pooka
22b1964406 Include vfs_getcwd.c too. It isn't used currently, but it's linked. 2008-01-25 06:42:29 +00:00
pooka
2b1b5d29b8 Use namei() etc. from kernel sources instead of a reimplementation.
To accommodate, give the rootvnode its own vnode op vector with a
simple lookup operation.  This is used for looking up the file
system's device vnode instead of doing that directly in a homesmoked
namei().
2008-01-24 22:41:07 +00:00
pooka
daadf5acef Make work again by repairing spec_node_init() and not being afraid
to use it.
2008-01-24 20:06:46 +00:00
ad
703069c0e9 specfs changes for PR kern/37717 (raidclose() is no longer called on
shutdown). There are still problems with device access and a PR will be
filed.

- Kill checkalias(). Allow multiple vnodes to reference a single device.

- Don't play dangerous tricks with block vnodes to ensure that only one
  vnode can describe a block device. Instead, prohibit concurrent opens of
  block devices. As a bonus remove the unreliable code that prevents
  multiple file system mounts on the same device. It's no longer needed.

- Track opens by vnode and by device. Issue cdev_close() when the last open
  goes away, instead of abusing vnode::v_usecount to tell if the device is
  open.
2008-01-24 17:32:52 +00:00
pooka
d25a6ab97f Don't use PAGE_SIZE when faking physmem, as it's not always available
at compile-time.  We could init it runtime, but it's just a random
number anyway.
2008-01-24 15:02:16 +00:00
pooka
9af1c338e2 Default physmem was too tight, increase to 256megs from 0 bytes. 2008-01-24 08:34:49 +00:00
pooka
2310c71b91 Until debugging threaded programs in NetBSD is fixed, supply the
cpp option RUMP_WITHOUT_THREADS as a workaround.  If defined, it
makes rump itself operate single-threaded and prevents kthread_create()
from working.
2008-01-22 09:23:39 +00:00
pooka
65a36d9ef8 In case cv_timedwait() gets ticks == 0, make sure we sleep eternally
(or at least until wakeup) instead of immediately waking up.

In other words, fix this after it broke when another piece of the
code was fixed.  Ain't programming fun?
2008-01-21 17:56:48 +00:00