freebsd-nq/sys/dev
John Baldwin 2ccfc93222 Overhaul the ACPI PCI bridge driver a bit:
- Add an ACPI PCI-PCI bridge driver (the previous driver just handled
  Host-PCI bridges) that is a PCI driver that is a subclass of the generic
  PCI-PCI bridge driver.  It overrides probe, attach, read_ivar, and
  pci_route_interrupt.
  - The probe routine only succeeds if our parent is an ACPI PCI bus which
    we test for by seeing if we can read our ACPI_HANDLE as an ivar.
  - The attach routine saves a copy of our handle and calls the new
    acpi_pcib_attach_common() function described below.
  - The read_ivar routine handles normal PCI-PCI bridge ivars and adds an
    ivar to return the ACPI_HANDLE of the bus this bridge represents.
  - The route_interrupt routine fetches the _PRT (PCI Interrupt Routing
    Table) from the bridge device's softc and passes it off to
    acpi_pcib_route_interrupt() to route the interrupt.
- Split the old ACPI Host-PCI bridge driver into two pieces.  Part of
  the attach routine and most of the route_interrupt routine remain in
  acpi_pcib.c and are shared by both ACPI PCI bridge drivers.
  - The attach routine verifies the PCI bridge is present, reads in
    the _PRT for the bridge, and attaches the child PCI bus.
  - The route_interrupt routine uses the passed in _PRT to route a PCI
    interrupt.
  The rest of the driver is the ACPI Host-PCI bridge specific bits that
  live in acpi_pcib_acpi.c.
  - We no longer duplicate pcib_maxslots but use it directly.
  - The driver now uses the pcib devclass instead of its own devclass.
    This means that PCI busses are now only children of pcib devices.
  - Allow the ACPI_HANDLE for the child PCI bus to be read as an ivar
    of the child bus.
  - Fetch the _PRT for routing PCI interrupts directly from our softc
    instead of walking the devclass to find ourself and then fetch our
    own softc.

With this change and the new ACPI PCI bus driver, ACPI can now properly
route interrupts for devices behind PCI-PCI bridges.  That is, the
Itanium2 with like 10 PCI busses can now boot ok and route all the PCI
interrupts.  Hopefully this will also fix problems people are having with
CardBus bridges behind PCI-PCI bridges not properly routing interrupts
when ACPI is used.

Tested on:	i386, ia64
2002-08-26 18:30:27 +00:00
..
aac In continuation of early fileop credential changes, modify fo_ioctl() to 2002-08-17 02:36:16 +00:00
acpica Overhaul the ACPI PCI bridge driver a bit: 2002-08-26 18:30:27 +00:00
advansys
agp o Retire vm_page_zero_fill() and vm_page_zero_fill_area(). Ever since 2002-08-25 00:22:31 +00:00
aha Fix new gcc-3.1 warnings. I think this gets GENERIC compiling cleanly 2002-05-24 05:21:36 +00:00
ahb Fix new gcc-3.1 warnings. I think this gets GENERIC compiling cleanly 2002-05-24 05:21:36 +00:00
aic Remove __P. 2002-03-20 02:08:01 +00:00
aic7xxx Allow the ahc and ahd drivers to be built as modules. This also 2002-08-01 01:36:39 +00:00
amd
amr Fixed printf format errors in previous commit. %llu is no more suitable 2002-03-18 23:24:00 +00:00
an Fix location and name of if_an_pci.c in comment. 2002-07-27 21:28:40 +00:00
ar Directives may not be used inside a macro argument, so don't. 2002-05-09 18:01:19 +00:00
asr Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
ata Fix buffer length. 2002-08-19 18:52:23 +00:00
atkbdc Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
awi Use __FreeBSD_version to test what things to use 2002-05-31 03:27:34 +00:00
bge Recognize the Altima AC9100 chip, which is used in current versions 2002-07-26 03:47:08 +00:00
bktr Remove abuse of NBKTR - this was always a NOP on freebsd. We never 2002-07-21 05:19:03 +00:00
buslogic Remove #if 0'ed abuse of NPCI 2002-07-21 05:16:56 +00:00
cardbus pccbb -> cbb 2002-08-15 08:02:23 +00:00
ccd Fixed printf format errors. Most of them are 64-bit daddr_t casualties. 2002-05-25 11:05:07 +00:00
ciss Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
cm Remove __P. 2002-03-20 02:08:01 +00:00
cnw Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
cs Migrate to PCMCIA_CARD() macros 2001-11-15 07:52:49 +00:00
ct Quick, low impact band-aide to unbreak the build. Added && 0 so we 2002-06-01 08:29:12 +00:00
cy Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
dc style: 2002-08-23 23:49:02 +00:00
de Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
dec Introduce a boot environment variable (clock_compat_osf1) which can 2001-11-03 17:22:50 +00:00
dgb Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
digi Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
dpt Fix a couple of bogus enums. 2002-01-08 06:47:55 +00:00
drm In continuation of early fileop credential changes, modify fo_ioctl() to 2002-08-17 02:36:16 +00:00
ed Add ALLIED TELESIS,K.K. LA-ISA V2 ISA PnP ID. 2002-07-26 17:33:58 +00:00
eisa - Use the __BUS_ACCESSOR macro for EISA_ACCESSOR instead 2002-08-20 12:32:06 +00:00
em TX/RX descriptor/buffer management changes. 2002-08-21 23:44:15 +00:00
en Remove __P. 2002-03-20 02:08:01 +00:00
ep Fix build breakage on my pccard related commit. 2002-05-31 01:08:49 +00:00
ex Remove __P. 2002-03-20 02:08:01 +00:00
exca MFp4: 2002-07-26 08:01:08 +00:00
fb Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
fdc After some comments from bde, rewrite the loops to avoid turning the 2002-05-14 21:28:45 +00:00
fe Supported C-NET(98)P2 PnP mode. 2002-02-04 14:01:27 +00:00
fxp Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid 2002-08-18 07:05:00 +00:00
gem Fix warning. 2002-07-24 01:09:38 +00:00
gfb Turn on TGA support. 2002-04-13 22:34:16 +00:00
gx Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
hea - Remove DMA_* macros as only one, DMA_GET_ADDR, was used. 2002-06-24 05:03:44 +00:00
hfa Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
hme Call bpf_mtap() on output, to catch outgoing packets for e.g. tcpdump . 2002-07-30 21:47:14 +00:00
ic Oops, forgot to commit one file in the fd driver mega update. Here it 2001-12-16 07:52:13 +00:00
ichsmb Add PCI ID for ICH4 SMBus controller. 2002-08-12 16:22:12 +00:00
ida Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
ie
iicbus Major rework of the iicbus/smbus framework: 2002-03-23 15:49:15 +00:00
iir Don't include <stddef.h> "For offsetof". This is not even wrong in 2002-05-13 14:11:33 +00:00
isp Define ISP_DMA_ADDR_T to be a bus_addr_t, not a u_int32_t. 2002-08-22 16:14:19 +00:00
ispfw Add SBus firmware (compiled in only for sparc systems). 2002-07-11 01:55:15 +00:00
joy Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
kbd Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
lge Cleanup after my de-__P (remove leading whitespace before prototype args). 2002-07-06 16:34:32 +00:00
lmc Remove #include <pci.h> - there is no abuse of NPCI here 2002-07-21 05:16:14 +00:00
lnc Remove __P. 2002-03-20 02:08:01 +00:00
mc146818
mca
mcd Retire the bogus ioctl DIOCGPART in toto. 2002-04-02 11:52:13 +00:00
md Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
mii Revert change to detect multiply PHYs in mii code. There might be cases 2002-08-16 23:19:16 +00:00
mk48txx Add a driver back end for the Mostek MK48T02, MK48T08 and MK48T59 2002-04-04 23:44:42 +00:00
mlx Fixed printf format errors in previous commit. %llu is no more suitable 2002-03-18 23:38:16 +00:00
mly Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
mpt Do some minor cleanups found during backport to RELENG_4. 2002-08-23 06:56:31 +00:00
mse Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-23 16:01:49 +00:00
musycc
my Add missing unlock 2002-05-30 23:41:51 +00:00
ncv Quick, low impact band-aide to unbreak the build. Added && 0 so we 2002-05-31 23:39:04 +00:00
nge Add support for SX cards using TBI such as Netgear GA621. 2002-08-08 18:33:28 +00:00
nmdm Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
nsp Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
null Modernise the cdevsw WRT to (unused) kqueue. 2002-08-02 11:24:43 +00:00
ofw Basic OpenFirmware disk driver. It will attach to anything in OpenFirmware 2002-04-15 10:54:22 +00:00
pccard pccbb -> cbb 2002-08-15 08:02:23 +00:00
pccbb Fix typos: s/O2Mirco/O2Micro/ 2002-08-24 07:46:08 +00:00
pcf Fix bktr and pcf compilation with LINT 2002-03-25 21:22:35 +00:00
pci Overhaul the ACPI PCI bridge driver a bit: 2002-08-26 18:30:27 +00:00
pcic Make oldcard and newcard kernel module work. 2002-05-30 17:38:00 +00:00
pdq Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
ppbus Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
ppc Restore the original copyright 2002-03-23 15:36:13 +00:00
pst Fix args for contigmalloc, cosmetics. 2002-08-18 12:20:33 +00:00
puc Add an entry for Avlab's low profile 4 serial port card. 2002-08-22 10:40:00 +00:00
random Upgrade the random device to use a "real" hash instead of building 2002-07-15 13:58:35 +00:00
ray Fix warnings. 2002-06-01 18:50:35 +00:00
rc Off-by-128 error in the cuam* device node numbers. 2002-05-20 05:12:56 +00:00
rp Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sab Ported to FreeBSD. 2002-08-04 18:41:27 +00:00
sbni printf() formats fixes 2002-08-06 17:00:02 +00:00
scd Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
sf style: 2002-08-23 23:49:02 +00:00
si Do not try and probe random PNP devices, This Is Bad. 2002-07-27 08:46:28 +00:00
sio Add missing quotes around ID string in __FBSDID(). 2002-07-16 16:20:44 +00:00
sk style: 2002-08-23 23:49:02 +00:00
smbus Major rework of the iicbus/smbus framework: 2002-03-23 15:49:15 +00:00
sn Don't bogusly depend on pcic. pccard should be enough. 2002-08-08 15:52:55 +00:00
snc Remove __P. 2002-03-20 02:08:01 +00:00
snp Treat input on the snp device as an `unsigned char'. According to the 2002-04-10 03:51:49 +00:00
sound Add suspend and resume support. 2002-08-25 02:00:49 +00:00
speaker Remove __P. 2002-03-20 07:51:46 +00:00
sr Don't abuse __FreeBSD__ as version number. Since it was >= 3, remove 2002-07-21 04:25:30 +00:00
stg Quick, low impact band-aide to unbreak the build. Added && 0 so we 2002-05-31 23:39:04 +00:00
streams Remove __P. 2002-03-20 02:08:01 +00:00
sym Move the new byte order function prototypes from <sys/param.h> to 2002-04-26 22:48:23 +00:00
syscons Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
tdfx In continuation of early fileop credential changes, modify fo_ioctl() to 2002-08-17 02:36:16 +00:00
tga
ti style: put return types on a line by themselves. 2002-08-24 00:02:03 +00:00
twe Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
tx Stop trying to align malloc()ed memory. Rely on malloc() instead, just like 2002-08-19 20:36:08 +00:00
txp Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
usb Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
vinum Don't use "NULL" when "0" is really meant. 2002-08-21 23:39:52 +00:00
vr style: put return types on a line by themselves. 2002-08-24 00:02:03 +00:00
vx Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid 2002-08-18 07:05:00 +00:00
wds
wi When setting the WI_RID_ENCRYPTION mode, we have to conditionally 2002-08-21 05:57:37 +00:00
wl Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
xe Three minor changes: 2002-07-22 21:24:12 +00:00