freebsd-dev/sys/dev
Marius Strobl d7ecd801ed As it turns out, r186347 actually is insufficient to avoid the use of the
curthread-accessing part of mtx_{,un}lock(9) when using a r210623-style
curthread implementation on sparc64, crashing the kernel in its early
cycles as PCPU isn't set up, yet (and can't be set up as OFW is one of the
things we need for that, which leads to a chicken-and-egg problem). What
happens is that due to the fact that the idea of r210623 actually is to
allow the compiler to cache invocations of curthread, it factors out
obtaining curthread needed for both mtx_lock(9) and mtx_unlock(9) to
before the branch based on kobj_mutex_inited when compiling the kernel
without the debugging options. So change kobj_class_compile_static(9)
to just never acquire kobj_mtx, effectively restricting it to its
documented use, and add a kobj_init_static(9) for initializing objects
using a class compiled with the former and that also avoids using mutex(9)
(and malloc(9)). Also assert in both of these functions that they are
used in their intended way only.
While at it, inline kobj_register_method() and kobj_unregister_method()
as there wasn't much point for factoring them out in the first place
and so that a reader of the code has to figure out the locking for
fewer functions missing a KOBJ_ASSERT.
Tested on powerpc{,64} by andreast.

Reviewed by:	nwhitehorn (earlier version), jhb
MFC after:	3 days
2011-11-15 20:11:03 +00:00
..
aac Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
acpi_support Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
acpica Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
adb Add support for special keys (volume/brightness/eject) on Apple laptops with 2011-10-16 21:01:42 +00:00
adlink Remove an unnecessary INTR_MPSAFE and a comment suggesting it was 2011-01-06 21:02:14 +00:00
advansys Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
ae To send a frame, controller requires a prepended TX header and 2011-11-11 19:15:32 +00:00
age Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
agp Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
aha
ahb
ahci Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
aic
aic7xxx Improve portability #defines for compiling aicasm on other systems. 2011-07-15 00:36:47 +00:00
alc Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
ale Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
amd
amdsbwd amdsbwd: update to support SB8xx southbridges 2011-06-07 06:18:02 +00:00
amdtemp
amr Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
an Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
arcmsr Update arcmsr(4) to 1.20.00.22 to solve recursive acquisition of buffer 2011-08-16 08:41:37 +00:00
asmc
asr Merge from r225950: 2011-10-13 20:06:19 +00:00
ata Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ath Disable writing to the extension CYCPWR1 register. 2011-11-12 16:47:23 +00:00
atkbdc Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
auxio
bce Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
bfe - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
bge Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
bktr Remove a few bits of FreeBSD 2.x compatibility code. 2011-11-14 18:21:27 +00:00
bm - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
buslogic Remove some always-true comparisons. 2011-01-18 15:23:16 +00:00
bwi Fix an incorrect use of sizeof(). 2011-10-10 02:54:58 +00:00
bwn Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
bxe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cardbus Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cas - Expand the scope of the lock in the interrupt routine to close races with 2011-07-13 18:52:11 +00:00
ce Revert r213793. 2010-10-13 17:38:23 +00:00
cfe Follow up to r225203 refining break-to-debugger run-time configuration 2011-08-27 14:24:27 +00:00
cfi Merge r221614,221696,221737,221840 from largeSMP project branch: 2011-05-22 20:55:54 +00:00
ciss Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
cm Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
cmx
coretemp #PROCHOT assertion is sticky after reading the MSR (accordingly with 2011-09-19 10:58:30 +00:00
cp Revert r213793. 2010-10-13 17:38:23 +00:00
cpuctl
cpufreq
cs Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ct
ctau Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
cx Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
cxgb Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cxgbe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cy
dc - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
dcons Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
de
digi
dpms
dpt
drm Fix display of the drm sysctls. 2011-04-23 23:11:44 +00:00
e1000 Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ed - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
eisa
en Remove duplicate header includes 2011-06-28 08:36:48 +00:00
ep Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
esp Freeze the device queue if a request didn't complete without error and 2011-11-06 22:28:13 +00:00
et Make sure to report media change status to caller. Previously it 2011-10-17 20:03:38 +00:00
ex Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
exca
fatm Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need 2011-01-18 21:14:23 +00:00
fb Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
fdc Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
fdt FDT support for MIPS. 2011-10-18 07:29:21 +00:00
fe Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
firewire Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
flash Modify the spi flash driver to allow smaller read IO sizes, but enforce 2011-02-16 20:07:44 +00:00
fxp - Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY 2011-10-08 12:33:10 +00:00
gem Revert r224157, re-enabling r222135. The underlying problem keeping the 2011-08-19 19:13:31 +00:00
glxiic Fix breakage on pc98 by redefining DEBUG(). 2011-05-15 19:04:08 +00:00
glxsb
gpio Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
hatm
hifn Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
hme - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
hptiop Merge from r225950: 2011-10-13 20:06:19 +00:00
hptmv - Merge changes to the base system to support OFED. These include 2011-03-21 09:40:01 +00:00
hptrr Pass a format string to make_dev(). 2010-10-13 14:41:52 +00:00
hwpmc Flip on processing interrupt profile events for mips24k. 2011-11-09 17:38:27 +00:00
ic
ichsmb Revert r224736 as the introduced value was already present. 2011-08-09 20:55:54 +00:00
ichwd Fix a bug in ichwd(4) which prevents it from beig enabled if the new 2011-09-02 17:06:50 +00:00
ida
ie Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
ieee488 Implement more of __ibsta: END and SRQI status bits (taken out of the 2010-12-10 22:20:11 +00:00
if_ndis Revert the ndis part of r212122, windrv_stub.c already adds a MODULE_VERSION 2011-01-22 21:33:18 +00:00
iicbus Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
iir Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
io - Extract the IODEV_PIO interface from ia64 and make it MI. 2010-04-28 15:38:01 +00:00
ipmi Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ips
ipw Add module version to iwi/ipw/wpi and iwn. 2011-05-31 19:08:25 +00:00
iscsi/initiator Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
isp - add a missing "be" and "in" 2011-11-11 22:27:09 +00:00
ispfw Update firmware to more recent versions. 2011-01-05 23:15:22 +00:00
iwi Add module version to iwi/ipw/wpi and iwn. 2011-05-31 19:08:25 +00:00
iwn Let net80211 also know about stopped BA sessions. This fixes some issues 2011-10-24 07:37:01 +00:00
ixgb Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
ixgbe The maximum read size of incoming packets is done in 1024-byte increments. 2011-09-05 17:54:19 +00:00
jme - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
joy
kbd Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kbdmux Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP. 2011-07-17 08:19:19 +00:00
ksyms Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
le Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
led MFgraid/head r218174: 2011-03-24 08:56:12 +00:00
lge Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
lindev
lmc In r191367 the need for if_free_type() was removed and a new member 2011-11-11 22:57:52 +00:00
malo Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
mc146818
mca
mcd
md Add information about MD_READONLY and MD_COMPRESS flags to the 2011-10-31 10:53:27 +00:00
mem Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). 2011-01-17 22:58:28 +00:00
mfi Do a dummy read to flush the interrupt ACK that we just performed, 2011-11-09 21:53:49 +00:00
mge Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
mii - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
mk48txx Add support for MK48T37. 2011-05-15 13:17:08 +00:00
mlx
mly Add descriptor sense support to CAM, and honor sense residuals properly in 2011-10-03 20:32:55 +00:00
mmc Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
mn
mps Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
mpt Increase the IOC port initialization timeouts by ten times to what the 2011-11-01 18:28:33 +00:00
mse
msk Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
mvs Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
mwl Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
mxge Update mxge(4) firmware to the latest version available from 2011-07-12 15:07:17 +00:00
my Remove duplicate header includes 2011-06-28 08:36:48 +00:00
ncv
nfe Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
nge - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
nmdm Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
nsp
null Move the ZERO_REGION_SIZE to a machine-dependent file, as on many 2011-05-13 19:35:01 +00:00
nve Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
nvram
nvram2env Import nvram2env, a device driver which imports various NVRAM-style 2011-04-03 11:55:48 +00:00
nxge Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
ofw As it turns out, r186347 actually is insufficient to avoid the use of the 2011-11-15 20:11:03 +00:00
patm Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
pbio
pccard Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
pccbb Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
pcf
pci Add missing XHCI early takeover code. The XHCI takeover code 2011-07-22 15:37:23 +00:00
pcn - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
pdq Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
powermac_nvram Add support for the Sharp/Micron flash chips to powermac_mvram(4). 2010-09-05 20:04:02 +00:00
ppbus Add missing va_end() to clean up after va_start(). 2011-10-07 20:54:12 +00:00
ppc - Add support for MosChip 9865 Single 1284 Printer port 2011-02-19 17:38:51 +00:00
pst
pty Fix whitespace inconsistencies in the TTY layer and its drivers owned by me. 2011-06-26 18:26:20 +00:00
puc - add support for Titan VScom PCIex-800H 2011-11-15 17:53:29 +00:00
qlxgb Add QLogic 10 Gigabit Ethernet & CNA Adapter Driver version 1.30 2011-11-03 21:20:22 +00:00
quicc Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ral Don't hardcode assumptions about basic rates, similar to what the rt2661 2011-04-09 14:45:50 +00:00
random Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
rc
re Sprinkle some const. 2011-11-02 23:23:19 +00:00
rndtest Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
rp
rt Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
safe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
sbni Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
scc Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
scd
sdhci Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
sec Convert Freescale PowerPC platforms to FDT convention. 2010-07-11 21:08:29 +00:00
sf - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
sge Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
si
siba Properly free resources in case of an error. 2011-10-15 22:27:35 +00:00
siis Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
sio - add support for Broadcom 802.11bg/EDGE/GPRS CardBus (Serial) 2011-11-15 17:15:09 +00:00
sis - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
sk Allocate the DMA memory shared between the host and the controller as 2011-03-11 22:21:12 +00:00
smbus
smc - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
sn Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
snc Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
snp Second-to-last commit implementing Capsicum capabilities in the FreeBSD 2011-08-11 12:30:23 +00:00
sound Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
speaker
spibus bus_add_child: change type of order parameter to u_int 2010-09-10 11:19:03 +00:00
ste - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
stg
stge - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
streams Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
sym Merge from r225950: 2011-10-07 08:59:54 +00:00
syscons Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
tdfx Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ti Overhaul bus_dma(9) usage in driver: 2011-11-14 20:38:14 +00:00
tl Remove variable initialized but no longer actually used since r226995. 2011-11-02 23:22:50 +00:00
tpm Add tpm(4) driver for Trusted Platform Module. 2010-08-12 00:16:18 +00:00
trm
tsec Don't use the MAC address in the device tree if it's all zeroes 2011-01-28 23:40:13 +00:00
twa Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
twe Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
tws Don't expose a constant array into global namespace. 2011-10-28 17:53:34 +00:00
tx - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
txp Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
uart Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ubsec Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
usb - This patch adds custom IOCTLs to read and write the 4 GPIO pins on the 2011-11-12 08:40:52 +00:00
utopia
vge Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
vkbd Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
vr Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
vte Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
vx Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
vxge - change "is is" to "is" or "it is" 2011-10-16 14:30:28 +00:00
watchdog - Add the possibility to reuse the already last used timeout when patting 2011-04-27 16:43:03 +00:00
wb - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
wds
wi Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
wl Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
wpi Add module version to iwi/ipw/wpi and iwn. 2011-05-31 19:08:25 +00:00
xe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
xen Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
xl - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00