Commit Graph

6645 Commits

Author SHA1 Message Date
ad
9d09ecfa96 sigaction1: we need to remember if the sigcontext method may be useable,
because libc can use it even if siginfo is available.

Changes are needed in libc to stop this being a performance penalty but
they will come later.
2008-11-25 16:42:44 +00:00
ad
a5a0d68555 Print the size as decimal. 2008-11-25 15:15:28 +00:00
ad
31afc5b6d8 Add some basic DDB stuff for modules. 2008-11-25 15:14:07 +00:00
ad
c90afa3efc vax uses v3 trampoline. 2008-11-25 15:05:38 +00:00
joerg
6c45130eba Move the specification of the on-disk journal format into a separate
header.
2008-11-24 16:05:21 +00:00
jmcneill
42c69bb1ce Add poll support for drvctl notification events 2008-11-23 23:59:41 +00:00
pooka
b5321c4efc document modular. no functional change. 2008-11-21 07:34:46 +00:00
ad
8cd20f56b2 Autoload accept filter modules. 2008-11-20 10:00:54 +00:00
ad
5c14324942 port-amd64/39963 modules/compat_netbsd32: missing symbols on amd64 2008-11-20 09:30:32 +00:00
yamt
bd2755f5a1 pollcommon: use a more appropriate type than char[]. 2008-11-20 01:25:28 +00:00
joerg
27024ae7a6 Push functionality to deal with existing inode records into a separate
function.
2008-11-20 00:17:08 +00:00
cegger
dd47eeac45 make this compile 2008-11-19 21:29:32 +00:00
ad
e157b99c7c Regen. 2008-11-19 18:39:43 +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
950585e9b4 module_autoload: disallow path seperators and magic symlinks. 2008-11-19 13:07:42 +00:00
joerg
412427525e Decouple journal operation from replay header by copying the interesting
fields into wapbl_replay as opposed to embedding wapbl_wc_header.
2008-11-18 22:21:48 +00:00
macallan
a223e59eb6 don't leak kmem on LP64 2008-11-18 21:20:32 +00:00
joerg
5658187923 #if 0 wapbl_replay_verify. 2008-11-18 19:31:35 +00:00
joerg
2e2e65b3b8 Check for NULL before calling free as the kernel free doesn't handle it. 2008-11-18 18:54:39 +00:00
joerg
fb6f7962ff Make uuidgen available for the kernel. 2008-11-18 14:01:03 +00:00
joerg
a3925622e1 Rename wapbl_replay_prescan to wapbl_replay_process. 2008-11-18 13:29:34 +00:00
pooka
9e46e516a7 Move fd_closeexec() and fd_checkstd() from kern_descrip to their
own file, subr_exec_fd.c (they're used only by exec).

After this change, the kernel source modules are in a partitioned
enough state to allow building a system without vfs at all.
2008-11-18 13:01:41 +00:00
ad
2bae5b390e Some modules may want to avoid autounload because their use is transient.
Their FINI routine may legitimately succeed even though the module is likely
to be used soon again, for example: exec_script. Add a MODULE_CMD_AUTOUNLOAD
to query whether a module wants to avoid autounload.
2008-11-18 11:56:09 +00:00
ad
f94a8f9142 - Put modules that depend on others at the head of the queue so autounload
can unload requisite modules with only one pass.

- If loading a requisite module, scan the global queue before checking the
  file system to see if it exists.  If it's already present we don't care.
2008-11-18 11:39:41 +00:00
joerg
355e64e949 Refact wapbl_replay_prescan to use a function for each WAPBL record.
Merge wapbl_replay_get_inodes into wapbl_replay_prescan. Change the
logic to determine the head: It doesn't make sense to update it if the
last inode record seen was not the beginning of the journal, as the
beginning of the journal might not be 0, so always update inodeshead.
2008-11-18 11:37:37 +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
joerg
c42112239b In wapbl_replay_write just iterate over the hash table and not the
transactions. The initial prescan has already sorted out what blocks are
in the journal and removed any revoced blocks, so the hash table is
authorative.
2008-11-17 22:08:09 +00:00
joerg
c42fa4ab26 Remove debug printf. 2008-11-17 19:36:11 +00:00
joerg
bea450f881 Ensure that block records are correctly padded. 2008-11-17 19:31:47 +00:00
pooka
fa86dc99d5 reregen to get those most important rcsids right 2008-11-17 08:59:33 +00:00
pooka
8299c3166a regen 2008-11-17 08:56:02 +00:00
pooka
cc4373b56d Use rump/include/rump as the rump_syscalls.h directory. 2008-11-17 08:46:42 +00:00
pooka
f1f9c07ac7 Make this generate the rump vnode interface files. 2008-11-17 08:46:03 +00:00
pooka
010ce4930e more <sys/buf.h> police 2008-11-16 19:34:29 +00:00
joerg
92a83dd9cf Backout revision 1.212 and add a comment that short-cutting the WAPBL
case is not possible. The buffer length has changed and the rounded size
may not have, essentially changing the transaction size. Reported by
various users and in PR 39898.
2008-11-16 19:34:19 +00:00
pooka
98bf46c51a <sys/buf.h> police 2008-11-16 18:44:07 +00:00
pooka
786ff94e12 <rump/rump_syscalls.h>, not "rump_syscalls.h" 2008-11-16 18:40:13 +00:00
ad
38cbe1484b Another fix to previous. 2008-11-16 16:23:58 +00:00
ad
c6555ead19 Our qsort() is inappropriate for kernel use because it makes recursive
calls. Replace it with a kheapsort() function in kernel. Pointed out
by tron@.
2008-11-16 16:15:58 +00:00
ad
7bdea38e00 Remove unneeded includes. 2008-11-16 15:29:53 +00:00
ad
b766740610 Fix ksyms_getname() broken in previous. 2008-11-16 15:28:15 +00:00
ad
9485f42356 - Local symbols could shadow globals in some instances. Fix it.
- mutex_enter() from ksyms_getval() could panic due to a change made
  in revision 1.40. Fix it.

- Replace the p-tree with a binary search of global symbols. Saves about
  250kB of wired memory on i386 and allows for faster lookups within
  module symbol tables.
2008-11-16 15:13:35 +00:00
ad
e2a270368e Correction to previous. 2008-11-16 14:55:42 +00:00
ad
d89eff7233 Do not look up any given symbol more than once. Does away with the vast
majority of symbol table lookups.
2008-11-16 11:26:28 +00:00
pooka
e0a026a434 vpp is not logically passed in IN with lookup, so INOUT -> OUT.
No functional change, but consistent with the rest.
2008-11-15 19:08:12 +00:00
skrll
1041d3756c s/process/LWP/ in comments where appropriate. 2008-11-15 10:54:32 +00:00
mrg
c10479b8ff explicitly include <sys/ioctl_compat.h> since we explicitly use
symbols defined in it.  fixes various build issues.
2008-11-15 05:58:33 +00:00
ad
fc5b697224 Regen. 2008-11-14 23:34:23 +00:00
ad
e6a3385171 Make POSIX AIO loadable as a module. 2008-11-14 23:33:45 +00:00