freebsd-nq/sys/dev
John Baldwin 5e1ba6d4ae Rework the ACPI PCI link code.
- Use a new-bus device driver for the ACPI PCI link devices.  The devices
  are called pci_linkX.  The driver includes suspend/resume support so that
  the ACPI bridge drivers no longer have to poke the links to get them
  to handle suspend/resume.  Also, the code to handle which IRQs a link is
  routed to and choosing an IRQ when a link is not already routed is all
  contained in the link driver.  The PCI bridge drivers now ask the link
  driver which IRQ to use once they determine that a _PRT entry does not
  use a hardwired interrupt number.
- The new link driver includes support for multiple IRQ resources per
  link device as well as preserving any non-IRQ resources when adjusting
  the IRQ that a link is routed to.
- The entire approach to routing when using a link device is now
  link-centric rather than pci bus/device/pin specific.  Thus, when
  using a tunable to override the default IRQ settings, one now uses
  a single tunable to route an entire link rather than routing a single
  device that uses the link (which has great foot-shooting potential if
  the user tries to route the same link to two different IRQs using two
  different pci bus/device/pin hints).  For example, to adjust the IRQ
  that \_SB_.LNKA uses, one would set 'hw.pci.link.LNKA.irq=10' from the
  loader.
- As a side effect of having the link driver, unused link devices will now
  be disabled when they are probed.
- The algorithm for choosing an IRQ for a link that doesn't already have an
  IRQ assigned is now much closer to the one used in $PIR routing.  When a
  link is routed via an ISA IRQ, only known-good IRQs that the BIOS has
  already used are used for routing instead of using probabilities to
  guess at which IRQs are probably not used by an ISA device.  One change
  from $PIR is that the SCI is always considered a viable ISA IRQ, so that
  if the BIOS does not setup any IRQs the kernel will degenerate to routing
  all interrupts over the SCI.  For non ISA IRQs, interrupts are picked
  from the possible pool using a simplistic weighting algorithm.

Tested by:	ru, scottl, others on acpi@
Reviewed by:	njl
2004-11-23 22:26:44 +00:00
..
aac Don't force busdma to pre-allocate bounce pages for static allocations. 2004-11-21 04:03:29 +00:00
acpi_support Remove more debugging 2004-11-15 20:08:44 +00:00
acpica Rework the ACPI PCI link code. 2004-11-23 22:26:44 +00:00
adlink Commit the new version of the adlink driver which can do non-cyclic 2004-09-19 21:52:15 +00:00
advansys
agp Use VM_ALLOC_NOBUSY to eliminate an unneeded vm_page_wakeup() call and the 2004-10-24 07:31:07 +00:00
aha Various whitespace nits. 2004-11-12 02:18:42 +00:00
ahb
aic
aic7xxx Add some useful target mode diagnostics for incoming commands 2004-11-18 20:33:43 +00:00
amd
amr Set up the data flow flag correctly so that bounced buffers have a chance of 2004-09-14 16:36:12 +00:00
an Second part of ALTQ driver modifications, covering: 2004-08-01 23:58:04 +00:00
ar As the if_ar driver doesn't contain locking or run its interrupt 2004-08-13 22:52:11 +00:00
arl Since if_arl doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 22:54:19 +00:00
asr - Set the CAM status to CAM_SCSI_STATUS_ERROR rather than CAM_REQ_CMP 2004-08-02 23:32:23 +00:00
ata Don't set the BUS_DMA_ALLOCNOW flag for the parent tag or the tags that are 2004-11-17 11:27:30 +00:00
ath Add missing bit of last if_start workaround: mark scan callout 2004-08-08 17:10:54 +00:00
atkbdc Remove local hacks to set flags now that the device probe does this for us. 2004-10-14 22:21:59 +00:00
auxio Port NetBSD auxio driver. The driver was modified to use led(4) and can 2004-10-09 07:31:03 +00:00
awi Since if_awi doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 22:55:25 +00:00
bfe Locking cleanups to remove the need for a recursive mutex 2004-10-23 08:33:10 +00:00
bge Don't force busdma to pre-allocate bounce pages for the parent tag. 2004-11-21 04:02:36 +00:00
bktr Fix build if both of BKTR_USE_FREEBSD_SMBUS and BKTR_NEW_MSP34XX_DRIVER are 2004-09-11 04:32:55 +00:00
buslogic #include <isa/isavar.h> instead of <i386/isa/isa_dma.h> 2004-09-15 11:58:34 +00:00
cardbus
ciss ciss's interrupt handler was missing the INTR_ENTROPY flag. 2004-08-16 23:13:16 +00:00
cm Since if_cm doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 22:57:44 +00:00
cnw
cp Remove bogus cdevsw frobbing code which tries to prevent double 2004-09-23 12:21:11 +00:00
cs Since if_cs doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:03:11 +00:00
ct Update for the KDB framework: 2004-07-10 20:57:43 +00:00
ctau Remove bogus cdevsw frobbing code which tries to prevent double 2004-09-23 12:21:11 +00:00
cx Use generic tty code instead of local copy. 2004-10-13 09:27:18 +00:00
cy Use generic tty code instead of local copy. 2004-10-05 07:42:19 +00:00
dc Read the MAC address in the EEPROM in the correct byte order. This 2004-10-01 15:23:31 +00:00
dcons Use dcons buffer passed by loader on amd64. 2004-10-28 12:18:22 +00:00
de Hide link up/down/media printfs behind bootverbose 2004-11-08 19:21:57 +00:00
dec
digi Add new function ttyinitmode() which sets our systemwide default 2004-10-18 21:51:27 +00:00
dpt
drm Fixed the module name (macros don't work here). 2004-08-29 07:49:53 +00:00
ed Commit ALTQ-patch for ed(4). 2004-11-21 02:42:09 +00:00
eisa Remove outb to "prime" the EISA ID registers of each slot. This was 2004-08-16 22:05:53 +00:00
em Further refine the if_em vlan fix in if_em.c:1.53: 2004-11-14 20:20:28 +00:00
en * Add a "how" argument to uma_zone constructors and initialization functions 2004-08-02 00:18:36 +00:00
ep Remove duplicate $FreeBSD$ 2004-07-22 07:11:15 +00:00
esp Remove files repocopied to sys/sparc64/sbus. 2004-11-10 14:11:10 +00:00
ex Use cluster if data >= MINCLSIZE. 2004-10-17 21:44:11 +00:00
exca Didn't intend to commit debugging code enabled 2004-08-16 01:57:06 +00:00
fatm
fb Converge towards i386. I originally resisted creating <machine/pc/bios.h> 2004-09-24 01:08:34 +00:00
fdc Properly wither the geom container on detach. This will allow one to 2004-11-21 16:25:21 +00:00
fe Style. Use ETHER_IS_MULTICAST() appropriately instead of masking off the bit. 2004-10-07 20:56:29 +00:00
firewire Fix malloc type in free(). 2004-11-10 06:21:47 +00:00
fxp Make interrupt coalescing work on big endian systems. 2004-11-17 04:25:10 +00:00
gem Since if_gem doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:11:24 +00:00
gfb Update for the KDB framework. Sanitize the alpha console code now that 2004-07-10 22:29:41 +00:00
harp Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
hatm
hfa Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
hifn add missing ';' that didn't show up with INVARIANTS enabled 2004-10-15 03:54:56 +00:00
hme Make hme(4) mpsafe 2004-11-22 06:46:30 +00:00
hptmv Fix some warnings that only triggered in LINT. 2004-10-24 09:23:07 +00:00
ic This file was repocopied from sys/dev/uart/uart_dev_z8530.h. 2004-11-21 01:34:15 +00:00
ichsmb
ichwd
ida
idt Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
ie Since if_ie doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:15:44 +00:00
if_ndis Drop the NDIS lock before returning from ndis_start(). 2004-10-18 21:33:56 +00:00
iicbus Since if_ic doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:16:44 +00:00
iir Panic if given a CAM_DATA_PHYS pointer from CAM instead of trying to handle it. 2004-09-03 08:44:23 +00:00
io Add module versions. 2004-08-02 20:42:28 +00:00
ips
isp PAE support changes that included at least some minimal actual testing 2004-09-23 05:25:22 +00:00
ispfw Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
ixgb Since if_ixgb doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-14 00:17:04 +00:00
joy
kbd
led Remove a pointless check. 2004-07-10 15:38:27 +00:00
lge Hide link up/down/media printfs behind bootverbose 2004-11-08 19:21:57 +00:00
lnc Pass a correct lowaddr to bus_dma_tag_create(), lnc(4) cards can only 2004-08-22 23:01:13 +00:00
matcd
mc146818 Add a driver back end for MC146818 and compatible clocks based on the 2004-11-17 16:37:25 +00:00
mca
mcd No point in setting si_bsize_phys anymore, nobody reads it. 2004-10-29 11:09:21 +00:00
md Fix the MDIOCDETACH ioctl() for md(4). Now that the md_file field in 2004-11-13 05:00:12 +00:00
mem Fix module builds for i386 and amd64. 2004-08-04 18:30:31 +00:00
mii Add support for the BCM5750/5751. Unfortunately the documentation 2004-09-24 22:24:33 +00:00
mk48txx o Sync with the NetBSD mk48txx driver (the result simplyfies some changes 2004-11-17 12:54:12 +00:00
mlx
mly
mpt Correct style nit in rev 1.17. 2004-08-25 17:54:19 +00:00
mse
musycc Add -1 to this non-existent use of m_print in the source tree so LINT 2004-09-28 20:14:51 +00:00
my
ncv Update for the KDB framework: 2004-07-10 21:05:14 +00:00
nge Hide link up/down/media printfs behind bootverbose 2004-11-08 19:21:57 +00:00
nmdm Add new function ttyinitmode() which sets our systemwide default 2004-10-18 21:51:27 +00:00
nsp Update for the KDB framework: 2004-07-10 21:06:08 +00:00
null Go back to the historical minor numbers. Add a module version while 2004-08-02 19:59:41 +00:00
ofw Add new function ttyinitmode() which sets our systemwide default 2004-10-18 21:51:27 +00:00
owi
patm For variables that are only checked with defined(), don't provide 2004-10-24 15:33:08 +00:00
pbio Catch up with the header repo copy. 2004-11-11 19:14:09 +00:00
pccard Shame on me. I screwed up product ID for the 3COM Bluetooth PC-Card. 2004-09-09 18:48:09 +00:00
pccbb Don't need to declare cbb module. don't know why I never saw 2004-08-16 06:33:58 +00:00
pcf - Introduce an ofw_bus kobj-interface for retrieving the OFW node and a 2004-08-12 17:41:33 +00:00
pci Make pci_do_powerstate default to 1 now that we've done the release to 2004-11-10 00:41:39 +00:00
pdq Prefer C99's __func__ over GCC's __FUNCTION__. 2004-09-22 17:16:04 +00:00
ppbus Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
ppc
pst Use the correct type for iop_attach(). 2004-10-03 16:06:46 +00:00
puc Apply a bandaid to avoid hangs on Ultra 2 machines. The second Z8530 2004-11-15 02:47:37 +00:00
random Don't change the priority to PUSER when sleeping, just keep the current 2004-11-05 20:15:06 +00:00
ray Since if_ray doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:39:07 +00:00
rc Use generic ttycode instead of local copy. 2004-10-07 06:19:11 +00:00
re fix jumbo frames as much as they can be fixed for re. We now cap the MTU 2004-09-28 18:22:24 +00:00
rndtest
rp Use tty layer generic code instead of local copy. 2004-10-04 09:38:53 +00:00
sab Use generic tty code instead of local copies. 2004-10-12 22:33:19 +00:00
safe
sbni Since if_sbni doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:41:00 +00:00
sbsh
scd Don't set si_bszize_phys, nobody cares. 2004-10-29 11:09:50 +00:00
sf Correct URL of the programming manual. 2004-11-17 23:36:11 +00:00
si Add #ifdef _KERNEL which allows sicontrol(8) to include this file 2004-10-02 18:49:29 +00:00
sio Remove local hacks to set flags now that the device probe does this for us. 2004-10-14 22:21:59 +00:00
sk only clear the IFF_OACTIVE flag when we have a chance of being able to 2004-11-17 21:35:22 +00:00
smbus
sn
snc Since if_snc doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:47:01 +00:00
snp Walk through the snp softc list instead of abusing tp->ts_c to find the 2004-11-05 18:32:14 +00:00
sound Fix build. 2004-11-11 13:01:13 +00:00
speaker
sr Since if_sr doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:49:48 +00:00
stg Update for the KDB framework: 2004-07-10 21:14:20 +00:00
streams Introduce an alias for FILEDESC_{UN}LOCK() with the suffix _FAST. 2004-11-13 11:53:02 +00:00
sx Use generic tty processing code instead of local copy. 2004-10-08 06:45:10 +00:00
sym Make it depend on PCI as well. 2004-09-10 18:39:02 +00:00
syscons Add new function ttyinitmode() which sets our systemwide default 2004-10-18 21:51:27 +00:00
tdfx
tga Remove redundant _FBSDID. 2004-09-01 22:53:13 +00:00
ti Tag a last set of PCI network interfaces as IFF_NEEDSGIANT until they 2004-08-28 15:10:35 +00:00
trm
twa Changes to make twa work on amd64. 2004-08-18 16:14:44 +00:00
twe
tx Since if_tx doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:52:33 +00:00
txp Since if_txp doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-13 23:53:36 +00:00
uart uart_i8251_ops is gone. 2004-11-21 15:18:35 +00:00
ubsec
usb Fix just the worst of the timeout race conditions that the previous 2004-11-16 00:48:27 +00:00
utopia Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
vge Remove unneeded TX channel wakeup from vge_txeof(). This was put 2004-09-11 22:13:25 +00:00
vkbd Add virtual AT keyboard driver vkbd(4). 2004-11-16 16:59:23 +00:00
vr Forcibly disable interrupts, if we find ourselves servicing one when 2004-10-27 19:02:23 +00:00
vx ss if_vx through indent, and use ANSI function definitions, prior to adding 2004-08-18 16:56:54 +00:00
watchdog
wds
wi Second part of ALTQ driver modifications, covering: 2004-08-01 23:58:04 +00:00
wl
xe Since if_xe doesn't contain locking or run with INTR_MPSAFE, mark 2004-08-14 00:15:26 +00:00
zs Fix a typo so that this compiles again. 2004-10-20 16:22:00 +00:00