Commit Graph

97509 Commits

Author SHA1 Message Date
pooka
7fca80b0ff note rumpnet 2008-11-18 13:08: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
darran
d6a1889de6 Fix a race condition in opencrypto where the crypto request could be
completed by the crypto device, queued on the retq, but freed by the
ioctl lwp.  The problem manifests as various panics relating to the
condvar inside the request. The problem can occur whenever the crypto
device completes the request immediately and the ioctl skips the cv_wait().

The problem can be reproduced by enabling cryptosoft and running an openssl
speed test. E.g.
    sysctl -w kern.cryptodevallowsoft=-1
    openssl speed -engine cryptodev -evp des-ede3-cbc -multi 64

Add a macro for TAILQ_FOREACH_REVERSE_SAFE() to queue.h, since this
was missing and the opencrypto code removes requests from a list while
iterating with TAILQ_FOREACH_REVERSE().

Add missing cv_destroy() calls for the key request cleanup.

Reviewed by Thor Lancelot Simon.
2008-11-18 12:59:58 +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
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
jnemeth
cc34b6178d PR/39947 - Juan RP -- dbcool_detach implicitly called
sysmon_envsys_destroy() twice
2008-11-18 10:49:45 +00:00
nonaka
df1a68c144 enable _DEV_ZERO_oARM case, when only COMPAT_16 defined. 2008-11-18 09:52:43 +00:00
cegger
db189eeadc SATA GEN3 speed is 6.0Gb/s 2008-11-18 09:52:10 +00:00
chris
d1214474bc Fix Yukon EC Ultra cold power up issue.
For the EC Ultra it is necessary to update some extra registers during
reset.  Without doing so causes the system to hang at boot.  The only
workaround I found was to PXE boot before booting into NetBSD.

This change is based on the code from FreeBSD's if_msk.c.  Specifically the
msk_phy_power function.

Also add an splnet/splx across mii_tick.  This matches most other network
drivers.

Change posted for review on 3rd Oct 2008 to tech-net.  No feedback
received.
2008-11-18 09:30:43 +00:00
cliff
17a4a4425b fix "adapted from" (iq31244) and remove iq31244-specific jumper comment 2008-11-17 23:51:30 +00:00
matt
bcb2caec0b Regen. 2008-11-17 23:35:24 +00:00
matt
eadd097264 Store pcidevs in a more compact manner. Instead of many string with duplicate
words, store each word individual in a long string and then store offsets
in the string to that word.  This reduces the space needed by half.
2008-11-17 23:33:41 +00:00
joerg
a5be52d405 On resum-from-RAM explicitly restore PCI link device state before
reenabling interrupts. At least one BIOS doesn't do this automatically
as reported by Christoph Egger.
2008-11-17 23:29:49 +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
bouyer
5a45b84ca9 If we return an error make sure we don't return a b_resid of 0; or this
will trigger a KASSERT in physio_done(). Fix issue reported by Todd Kover
on tech-kern@
2008-11-17 21:19:03 +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
martin
ae7357a3ad PR port-sparc/39942: ifdef ch0_is_cons declaration and all uses consistently 2008-11-17 18:32:08 +00:00
cegger
a61fa1fd53 build fix: include <sys/buf.h> 2008-11-17 16:32:04 +00:00
cegger
3611a745ae build fix: include <sys/buf.h> 2008-11-17 14:12:52 +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
ad
7369e64e54 LINUX_GCC_SIGNATURE also matches NetBSD/i386 ELF binaries, so disable it. 2008-11-17 13:03:42 +00:00
is
b0a97c29c0 Add pppoe, tap, ppp, gre; avoids leaving the user without internet
connection when upgrading such a box as the router and configuration
file merging fails.
2008-11-17 11:18:30 +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
d55ddff727 update namei target to new syntax 2008-11-17 08:57:23 +00:00
pooka
8299c3166a regen 2008-11-17 08:56:02 +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
d72a5b8e49 Make this generate rump_namei.h. 2008-11-17 08:47:20 +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
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
08b3388013 regen 2008-11-17 07:20:54 +00:00
pooka
f76cc54c1f Add NOCHROOT from namei.h (hi ad) 2008-11-17 07:20:37 +00:00
dyoung
ddbd8176f9 Reduce code duplication: most PHY drivers call mii_phy_add_media()
when they attach to the device tree, so call pmf_device_register(9)
once there instead of once in more than twenty drivers.
2008-11-17 03:04:27 +00:00
uwe
e1bf976dc6 Provide empty module_init_md() so that modular kernel links. 2008-11-17 01:55:00 +00:00
bouyer
92e5f85303 Make sure xen_idt is writable before trying to write to it (issue previously
masked by defined(COMPAT_10) || defined(COMPAT_IBCS2)). Make amd64xen kernel
boot again.
2008-11-16 20:13:50 +00:00
veego
02a39d849b Traverse rump for a make cleandir. 2008-11-16 19:55:38 +00:00