freebsd-skq/sys/dev
Andriy Gapon aa83516001 acpi cpu: probe+attach before all other enumerated children on acpi bus
Some current systems dynamically load SSDT(s) when _PDC/_OSC method
of Processor is evaluated.  Other devices in ACPI namespace may access
objects defined in the dynamic SSDT.  Drivers for such devices might
have to have a rather high priority, because of other dependencies.
Good example is acpi_ec driver for EC.
Thus we attach to Processors as early as possible to load the SSDTs
before any other drivers may try to evaluate control methods.
It also seems to be a natural order for a processor in a device
hierarchy.

On the other hand, some child devices on acpi cpu bus need to access
other system resources like PCI configuration space of chipset devices,
so they need to be probed and attached rather late.
For this reason we probe and attach the cpu bus at
SI_SUB_CONFIGURE:SI_ORDER_MIDDLE SYSINIT level.
In the future this could be done more elegantly via multipass.

Please note that acpi drivers that might access ACPI namespace from
device_identify will do that before _PDC/_OSC of Processors are evaluated.

Legacy cpu driver is not affected by this change.

PR:		kern/142561 (in part)
Reviewed by:	jhb
Silence from:	acpi@
MFC after:	5 weeks
2010-02-11 08:50:21 +00:00
..
aac Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
acpi_support Add support for a few more Sony-specific ACPI features (default display 2010-02-07 18:36:30 +00:00
acpica acpi cpu: probe+attach before all other enumerated children on acpi bus 2010-02-11 08:50:21 +00:00
adb Add support for interpreting taps on ADB touchpads as a button click. 2009-11-28 17:48:25 +00:00
adlink Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
advansys Separate the parallel scsi knowledge out of the core of the XPT, and 2009-07-10 08:18:08 +00:00
ae Don't panic on attach if we can't allocate ifp 2010-01-10 14:48:42 +00:00
age Fix multicast handling. All Atheros controllers use big-endian form 2009-09-29 23:03:16 +00:00
agp Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
aha
ahb
ahci Disable PHY of unconnected ports when interface power management enabled. 2010-02-03 12:00:57 +00:00
aic Snip redundant assignment. 2009-05-13 22:31:25 +00:00
aic7xxx Document the usfs driver and the NO_SYSCTL_DESCR option, and update the comment for umass. 2010-02-08 20:57:42 +00:00
alc Fix multicast handling. All Atheros controllers use big-endian form 2009-09-29 23:03:16 +00:00
ale Fix multicast handling. All Atheros controllers use big-endian form 2009-09-29 23:03:16 +00:00
amd Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
amdsbwd amdsbwd: new driver for AMD SB600/SB7xx watchdog timer 2009-11-30 11:44:03 +00:00
amdtemp Restore (undocumented) support for early revisions and add more comments. 2009-09-14 23:08:19 +00:00
amr Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
an - For 350 chips, don't set various INTR bits in TX control word; turning INTR 2009-11-24 16:57:35 +00:00
arcmsr Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
asmc Use %zu for size_t. 2009-09-14 21:33:00 +00:00
asr MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
ata Report SATA300 chips also as SATA. 2010-02-05 14:41:18 +00:00
ath Fix typo in comment. 2010-02-10 11:12:39 +00:00
atkbdc Add new "hw.psm.tap_enabled" tunable and sysctl. 2009-12-18 17:46:57 +00:00
auxio Enroll these drivers in multipass probing. The motivation behind this 2009-12-22 21:02:46 +00:00
bce - Added a workaround for NC-SI management firmware that would allow 2010-01-20 20:33:10 +00:00
bfe Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
bge Move device specific flag configuration to attach routine. 2010-02-09 19:12:06 +00:00
bktr Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
bm Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
buslogic
bwi More consistent whitespace. 2009-11-11 20:29:40 +00:00
cardbus Move the PCI-specific logic of removing a cardbus device into a 2010-01-05 20:42:25 +00:00
cas Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
ce Always use a private timer instead of if_watchdog and if_timer to drive 2009-11-17 16:43:02 +00:00
cfe Create the "cfecons" tty directly using tty_makedev(). It is not clear what 2010-01-26 03:42:34 +00:00
cfi Move from using devclass_find_free_unit(cfi_diskclass, 0) to -1, since 2009-06-10 17:41:24 +00:00
ciss When hacking INQUIRY result, make sure that it is right INQUIRY and there 2010-02-05 12:40:18 +00:00
cm - Add a private timer to drive the transmit watchdog instead of using 2009-11-19 22:06:40 +00:00
cmx
coretemp Change 'dev.cpu.N.temperature', sysctl I (degC) to IK (Kelvin). 2009-09-06 12:01:29 +00:00
cp Always use a private timer instead of if_watchdog and if_timer to drive 2009-11-17 16:43:02 +00:00
cpuctl - Add support to atomically set/clear individual bits of a MSR register 2009-06-30 12:35:47 +00:00
cpufreq
cs Add a warning if we're inw'ing from an odd address. This could happen 2010-01-18 17:53:44 +00:00
ct Spell "Hz" correctly wherever it is user-visible. 2010-01-12 17:59:58 +00:00
ctau Always use a private timer instead of if_watchdog and if_timer to drive 2009-11-17 16:43:02 +00:00
cx Always use a private timer instead of if_watchdog and if_timer to drive 2009-11-17 16:43:02 +00:00
cxgb Don't forget to release the adapter lock for a no-op. 2010-01-23 01:44:30 +00:00
cy
dc cardbus -> CardBus 2010-01-03 23:28:32 +00:00
dcons Last minute TTY API change: remove mutex argument from tty_alloc(). 2009-05-29 06:41:23 +00:00
de Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
digi Remove unused files from the digi(4) driver. 2009-01-16 14:45:48 +00:00
dpms Attach dpms(4) to vgapm and make sure to restore DPMS state after 2009-12-15 19:58:23 +00:00
dpt Get rid of #ident, GCC 4.4 warns about it being deprecated. 2010-01-08 17:20:41 +00:00
drm Welcome drm support for VIA unichrome chips. 2010-01-31 14:30:39 +00:00
e1000 A few minor changes: add altq option header, add missing conditional 2010-02-01 19:28:43 +00:00
ed Use a private callout timer to drive the transmit watchdog instead of using 2009-11-17 14:23:09 +00:00
eisa strict kobj signatures: fix assortment of bus_read_ivar impls 2009-06-11 17:06:58 +00:00
en Hide an unused variable in case we compile with neither INET nor INET6. 2008-11-06 09:41:31 +00:00
ep Replace several instances of 'if (!a & b)' with 'if (!(a &b))' in order 2010-01-08 15:44:49 +00:00
esp
et Only Tx checksum offloading is supported now. Remove experimental 2009-11-20 20:43:16 +00:00
ex Replace several instances of 'if (!a & b)' with 'if (!(a &b))' in order 2010-01-08 15:44:49 +00:00
exca CardBus instead of cardbus. 2010-01-03 23:26:29 +00:00
fatm Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
fb Map and report actual video memory we need. 2010-02-06 00:52:42 +00:00
fdc Remove _FDE quirk handling as these quirks are automatically repaired 2009-12-14 22:28:32 +00:00
fe Fix comment typo. 2009-11-25 13:31:17 +00:00
firewire Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
flash Merge from projects/mips to head by hand: 2010-01-10 05:15:46 +00:00
fxp It seems some 82559ER controllers do not support Rx checksum 2009-09-28 19:40:16 +00:00
gem Work around a quirk with the G5 Xserve, which has a fake GMAC controller 2009-10-18 17:11:16 +00:00
glxsb Fix two possible (but unlikely) NULL-pointer dereferences in glxsb(4). 2008-11-17 07:09:40 +00:00
hatm Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
hifn Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
hme Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
hptiop MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
hptmv Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
hptrr MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
hwpmc Use VFS_{LOCK,UNLOCK}_GIANT() around the call to vrele(). 2009-12-29 02:35:50 +00:00
ic Merge from projects/mips to head by hand: 2010-01-11 04:13:06 +00:00
ichsmb ichsmb: add another pci id 2009-12-16 12:25:27 +00:00
ichwd Add support for the NM10 chipset. 2010-01-24 10:50:20 +00:00
ida
ie Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
ieee488 GPIB overhaul, part #2: make the tnt4882 driver work with the newer 2010-02-01 21:21:10 +00:00
if_ndis Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
iicbus These don't compile yet, but they are some of the first drivers 2009-10-15 21:06:59 +00:00
iir Get rid of #ident. 2010-01-08 20:40:28 +00:00
io Use io(4) for I/O port access on ia64, rather than through sysarch(2). 2010-01-11 18:10:13 +00:00
ipmi - Fixed incorrect watchdog timeout setting: MSB of a 2-byte 2009-12-18 12:10:42 +00:00
ips Fix argument order in a call to mtx_init. 2009-12-17 00:21:12 +00:00
ipw For ic_opmode switch cases, provide a default label with a printf saying 2009-07-10 15:28:33 +00:00
iscsi/initiator Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
isp Yet another target mode compilation error. 2010-02-04 06:45:14 +00:00
ispfw Add 8Gb card firmware. Update some 2Gb and 4Gb f/w sets. 2009-08-01 00:57:34 +00:00
iwi For ic_opmode switch cases, provide a default label with a printf saying 2009-07-10 15:28:33 +00:00
iwn o add more notification strings in iwn_intr_str() 2010-01-25 19:36:48 +00:00
ixgb - Use callout_init_mtx() instead of callout_init(..., CALLOUT_MPSAFE). 2009-11-19 18:37:55 +00:00
ixgbe Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
jme If we fail to read the Ethernet address from the card, just print an 2010-01-08 10:32:27 +00:00
joy Use si_drv1 to store joy(4)'s softc. 2009-04-14 11:23:09 +00:00
kbd Use an unsigned integer for storing the key code. 2009-09-22 11:29:11 +00:00
kbdmux Use proper types in kbdmux_kbd_getc(): 2009-06-08 20:24:29 +00:00
ksyms Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
le Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
led (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. 2009-12-28 22:56:30 +00:00
lge - Hook into the existing stat timer to drive the transmit watchdog instead 2009-11-19 22:14:23 +00:00
lindev lindev(4) [1] is supposed to be a collection of linux-specific pseudo 2009-09-26 12:45:28 +00:00
lmc One more #ifdef fix for GCC 4.4. 2010-01-08 15:57:56 +00:00
malo Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
mc146818 Remove clause 3 from Izumi Tsutsui's licenses. 2009-12-25 22:58:43 +00:00
mca strict kobj signatures: fix assortment of bus_read_ivar impls 2009-06-11 17:06:58 +00:00
mcd
md (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. 2009-12-28 22:56:30 +00:00
mem
mfi Revert r200231. It was already taken cared by jhb long ago. 2009-12-07 21:24:07 +00:00
mge Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
mii Add check for fiber mode for BCM5714 PHY. This PHY supports both 2010-01-14 19:14:24 +00:00
mk48txx Fix botches in r201005: 2010-01-01 22:47:53 +00:00
mlx Temporarily revert the new-bus locking for 8.0 release. It will be 2009-08-20 19:17:53 +00:00
mly MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
mmc Temporarily revert the new-bus locking for 8.0 release. It will be 2009-08-20 19:17:53 +00:00
mn
mpt Do not release device, when changing number of openings. 2010-02-04 08:54:14 +00:00
mse Make mse(4) use si_drv1, instead of using unit numbers. 2009-04-20 15:15:24 +00:00
msk Yukon Ultra2 has 126MHz clock. 2010-01-22 20:15:49 +00:00
mwl - Add a private timer to drive the transmit watchdog instead of using 2009-11-19 22:06:40 +00:00
mxge Use better default RSS hash (src + dst, rather than just src port) 2010-01-11 22:28:40 +00:00
my - This driver used the if_watchdog timer both as a watchdog on transmit and 2009-11-19 18:43:43 +00:00
ncv strict kobj sigs: fix assortment of device_detach and device_shutdown impls 2009-06-11 17:14:28 +00:00
nfe Take a step towards removing if_watchdog/if_timer. Don't explicitly set 2009-11-06 14:55:01 +00:00
nge Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
nmdm - Remove an unnecessary memory barrier from an atomic op. 2009-06-09 13:33:03 +00:00
nsp strict kobj sigs: fix assortment of device_detach and device_shutdown impls 2009-06-11 17:14:28 +00:00
null Remove unneeded minor numbers from /dev/null and /dev/zero. 2009-09-06 09:59:02 +00:00
nve Initialize the ifnet before calling mii_phy_probe() as some phy drivers 2010-01-27 14:43:28 +00:00
nvram
nxge Fix compile after previous "harmless" commit. 2009-11-19 21:47:54 +00:00
ofw Missed style fixes. 2009-06-14 00:15:26 +00:00
patm Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
pbio
pccard cardbus -> CardBus 2010-01-03 23:31:58 +00:00
pccbb Temporarily revert the new-bus locking for 8.0 release. It will be 2009-08-20 19:17:53 +00:00
pcf strict kobj signatures: fix iicbus_write impl in dev/pcf 2009-06-11 17:15:44 +00:00
pci Add pci_get|set_max_read_req() helper functions to control maximum PCIe 2010-02-05 17:18:48 +00:00
pcn - Hook into the existing stat timer to drive the transmit watchdog instead 2009-11-19 22:14:23 +00:00
pdq Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
powermac_nvram Use si_drv1 instead of dev2unit() in powermac_nvram. 2009-04-14 13:18:39 +00:00
ppbus MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
ppc Added entries for Lava SP-PCI (1 serial + 1 parallel) PCI card. The 2009-02-11 00:08:03 +00:00
pst Temporarily revert the new-bus locking for 8.0 release. It will be 2009-08-20 19:17:53 +00:00
pty Move ptmx into pty(4). 2009-09-06 10:27:45 +00:00
puc Fix interrupt handling. It started off broken and grew worse over time. 2009-12-11 03:08:07 +00:00
quicc
ral Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
random There is rubbish here 2009-05-25 22:50:11 +00:00
rc
re Add initial support for RTL8103E PCIe fastethernet. 2010-01-27 17:49:27 +00:00
rndtest
rp These checks against BUSY aren't needed: the newbus layer does this 2009-09-05 08:38:25 +00:00
safe Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
sbni
scc Make iclear return int, since that matches all function definitions of it. 2009-02-05 19:32:34 +00:00
scd
sdhci Add support for interruptless kernel dumping. 2009-02-17 19:12:15 +00:00
sec Fix Book-E/MPC85XX build. Some prototypes were wrong and got revealed with 2009-06-13 08:57:04 +00:00
sf Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
si Last minute TTY API change: remove mutex argument from tty_alloc(). 2009-05-29 06:41:23 +00:00
siba Adds siba_bwn module which is used with bwn(4). Main purpose of this 2010-01-31 21:18:22 +00:00
siis Use new helper functions to set PCIe max read request size. 2010-02-05 17:20:48 +00:00
sio remove now-redunant cardbus attachment. 2009-03-09 13:23:54 +00:00
sis Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
sk Take a step towards removing if_watchdog/if_timer. Don't explicitly set 2009-11-06 14:55:01 +00:00
smbus Make generic_intr routines match prototype. 2009-03-09 13:30:00 +00:00
smc strict kobj signatures: fix assortment of miibus_writereg impls 2009-06-11 17:14:54 +00:00
sn - Add a private timer to drive the transmit watchdog instead of using 2009-11-19 22:06:40 +00:00
snc Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
snp Add ttydisc_rint_simple(). 2009-08-23 08:04:40 +00:00
sound Rename usb2_ structures and variables to usb_. 2010-02-08 19:44:09 +00:00
speaker Change the type of uio_resid member of struct uio from int to ssize_t. 2009-06-25 18:46:30 +00:00
spibus strict kobj signatures: fix assortment of bus_read_ivar impls 2009-06-11 17:06:58 +00:00
ste Make sure to store dma address of RX buffer in little endian form. 2010-01-08 02:43:20 +00:00
stg strict kobj sigs: fix assortment of device_detach and device_shutdown impls 2009-06-11 17:14:28 +00:00
stge Take a step towards removing if_watchdog/if_timer. Don't explicitly set 2009-11-06 14:55:01 +00:00
streams The streams ptm code is pretty awful and likely incorrect. I don't know 2009-02-16 20:12:28 +00:00
sym While certain supported Symbios/LSI SCSI chips (532c896, 53c1000, 53c1010) 2009-10-31 17:06:36 +00:00
syscons Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
tdfx Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
ti - Add a private timer to drive the transmit watchdog instead of using 2009-11-19 22:06:40 +00:00
tl - Hook into the existing stat timer to drive the transmit watchdog instead 2009-11-19 22:14:23 +00:00
trm MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
tsec tsec: Use IFQ_DRV macros for managing interface packet queue. 2009-11-20 13:28:06 +00:00
twa MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
twe Teach twe driver to report array stripe size to GEOM. 2009-12-25 17:34:43 +00:00
tx Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
txp Make sure rx descriptor ring align on 16 bytes. I guess the 2009-08-31 22:09:48 +00:00
uart Merge from head at r201628. 2010-01-06 05:58:07 +00:00
ubsec strict kobj sigs: fix assortment of device_detach and device_shutdown impls 2009-06-11 17:14:28 +00:00
usb Disable the use of the IAAD usb doorbell on NVidia controllers as it can cause 2010-02-09 00:38:40 +00:00
utopia
vge Remove wrong assertion. 2009-12-25 00:23:47 +00:00
vkbd
vr Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
vx - Add a private timer to drive the transmit watchdog instead of using 2009-11-19 22:06:40 +00:00
watchdog
wb - Hook into the existing stat timer to drive the transmit watchdog instead 2009-11-19 22:14:23 +00:00
wds
wi Revert previous commit and add myself to the list of people who should 2009-09-08 13:19:05 +00:00
wl These drivers only set if_timer but never set if_watchdog. Just remove 2009-11-19 18:11:23 +00:00
wpi Don't panic on failure to attach if we fail before or during the 2009-12-14 19:18:02 +00:00
xe Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00
xen In blkif_queue_cb(), test the return value from gnttab_claim_grant_reference() 2009-12-29 23:31:21 +00:00
xl cardbus -> CardBus 2010-01-03 23:29:49 +00:00