freebsd-nq/sys
Nate Lawson 35440dd3e9 AcpiAcquireGlobalLock() can sometimes sleep if the mutex is contested.
The global lock is a memory region shared with the BIOS and thus
has some strange behavior like the fact that the sleep is 1 ms max.
We use standard mutexes to synchronize with the SCI so acquiring
the global lock after locking the mutex resulted in a witness
warning.

To deal with this for now, acquire the global lock before all other
locks, similar to Giant.  This should fix the witness "sleeping
with mutex held" issue on boot that occurred after the last ACPI-CA
import.  In the future, we hope to move to the new mutex interface
in ACPI-CA instead of the pseudo-semaphore version we have now.

Reviewed by:    jkim
2007-06-02 19:21:40 +00:00
..
amd64 Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
arm Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
boot MFp4: add FireWire/dcons support in loader for i386/amd64. 2007-05-29 14:35:57 +00:00
bsm Change $P4$ ID strings to P4 ID strings so that they are not auto-expanded 2007-04-17 12:27:08 +00:00
cam Add a placeholder document to be filled out by Nate which will describe 2007-05-29 20:07:22 +00:00
cddl Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
coda Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
compat Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
conf Take back the name 'bridge' now that we are the one and only. This can be 2007-05-31 19:47:39 +00:00
contrib Adjust va_mask for setattr. FreeBSD doesn't have va_mask, so we initialize it 2007-05-28 02:37:43 +00:00
crypto Integrate the Camellia Block Cipher. For more information see RFC 4132 2007-05-09 19:37:02 +00:00
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev AcpiAcquireGlobalLock() can sometimes sleep if the mutex is contested. 2007-06-02 19:21:40 +00:00
fs Revert previous, part of NFS that I didn't know about. 2007-06-01 17:06:46 +00:00
gdb
geom Fix a dereference in KASSERT. 2007-05-15 23:29:57 +00:00
gnu Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation 2007-06-01 14:33:11 +00:00
i4b Tell the user when the setup of the interrupt handler failed and return 2007-04-01 16:52:54 +00:00
i386 Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
ia64 Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
isa When trying to allocate a PnP BIOS memory resource, the code loops trying 2007-04-17 15:14:23 +00:00
kern Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation 2007-06-01 14:33:11 +00:00
libkern strchr() and strrchr() are already present in the kernel, but with less 2007-04-10 21:42:12 +00:00
modules Fix a breakage with "MODULES_WITH_WORLD=true make buildworld". 2007-06-01 00:23:34 +00:00
net Remove a KASSERT intended to help the developer, the condition is no longer 2007-05-30 19:39:55 +00:00
net80211 - Nuke unnecessary header. 2007-05-05 11:07:52 +00:00
netatalk Reduce network stack oddness: implement .pru_sockaddr and .pru_peeraddr 2007-05-11 10:20:51 +00:00
netatm Fix use after free bug: use temporary variable to hold next entry in linked 2007-04-03 12:45:10 +00:00
netgraph Partially back out rev. 1.127, to restore broken functionality. This 2007-06-01 09:20:57 +00:00
netinet - fix initial pcb vrf setting when the initial vrf is not the 2007-06-02 11:05:08 +00:00
netinet6 - fix initial pcb vrf setting when the initial vrf is not the 2007-06-02 11:05:08 +00:00
netipsec In ipsec6_output_tunnel() make sure that the SA contents do not change. 2007-05-29 22:44:24 +00:00
netipx Use ANSI C function declarations throughout netipx. 2007-05-11 10:38:34 +00:00
netkey
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp In ncp_conn_alloc(), a new credential pointer, 'owner', is set up to point 2007-05-27 17:14:33 +00:00
netsmb Replace custom file descriptor array sleep lock constructed using a mutex 2007-04-04 09:11:34 +00:00
nfs NFSv4 client: 2006-11-28 19:33:28 +00:00
nfs4client - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
nfsclient - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
nfsserver Remove MAC Framework access control check entry points made redundant with 2007-04-22 15:31:22 +00:00
opencrypto Integrate the Camellia Block Cipher. For more information see RFC 4132 2007-05-09 19:37:02 +00:00
pc98 Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
pccard
pci Where I previously removed calls to kdb_enter(), now remove include of 2007-05-29 11:28:28 +00:00
powerpc Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
rpc Move rpc/types.h under sys/, as this is used by ZFS kernel module. 2007-04-10 22:10:16 +00:00
security Clean up audit comments--formatting, spelling, etc. 2007-06-01 21:58:59 +00:00
sparc64 Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
sun4v Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
sys - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
tools Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
ufs Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation 2007-06-01 14:33:11 +00:00
vm - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
Makefile o Add bsm and security to a list of cscope dirs. 2007-04-14 16:29:15 +00:00