freebsd-dev/sys/dev
Attilio Rao ccdf233323 Introduce macro stubs in the mutex implementation that will be always
defined and will allow consumers, willing to provide options, file and
line to locking requests, to not worry about options redefining the
interfaces.
This is typically useful when there is the need to build another
locking interface on top of the mutex one.

The introduced functions that consumers can use are:
- mtx_lock_flags_
- mtx_unlock_flags_
- mtx_lock_spin_flags_
- mtx_unlock_spin_flags_
- mtx_assert_
- thread_lock_flags_

Spare notes:
- Likely we can get rid of all the 'INVARIANTS' specification in the
  ppbus code by using the same macro as done in this patch (but this is
  left to the ppbus maintainer)
- all the other locking interfaces may require a similar cleanup, where
  the most notable case is sx which will allow a further cleanup of
  vm_map locking facilities
- The patch should be fully compatible with older branches, thus a MFC
  is previewed (infact it uses all the underlying mechanisms already
  present).

Comments review by:	eadler, Ben Kaduk
Discussed with:		kib, jhb
MFC after:	1 month
2011-11-20 16:33:09 +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 - be more precise about the unit of measurement 2011-11-17 23:04:43 +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 Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +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 Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
ath Add some (totally untested!) code to correctly set the RF half/quarter 2011-11-19 21:12:35 +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
cesa Initial version of cesa(4) driver for Marvell crypto engine and security 2011-11-19 16:30:06 +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 There's no need to read DC_10BTSTAT twice in dcphy_status(). 2011-11-18 21:23:13 +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 Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +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 Was chasing down a failure to load f/w on a 2400. It turns out that the card 2011-11-16 02:52:24 +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 The sys/sysctl.h header is needed when MFI_DEBUG is defined. 2011-11-16 18:42:39 +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 There's no need export the device interface methods of miibus(4). 2011-11-18 22:58:13 +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 Enable 64bit DMA addressing support for all msk(4) controllers. 2011-11-16 19:25:26 +00:00
mvs Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +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
netmap Bring in support for netmap, a framework for very efficient packet 2011-11-17 12:17:39 +00:00
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 Introduce macro stubs in the mutex implementation that will be always 2011-11-20 16:33:09 +00:00
ppc Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +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 The maximum TSO frame size should be: 2011-11-16 02:00:55 +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 Add preliminary support for RTL8168/8111F PCIe Gigabit ethernet. 2011-11-17 22:07:50 +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
sfxge sfxge: Remove interrupt self-test code 2011-11-19 09:16:52 +00:00
sge Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
si
siba Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
siis Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +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 - Add support for Add LOGITECH Webcam C100 2011-11-20 12:26:20 +00:00
utopia
vge Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
virtio Import virtio base, PCI front-end, and net/block/balloon drivers. 2011-11-18 05:43:43 +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