freebsd-skq/sys
John Baldwin 9debb53220 According to the ACPI spec, the bus number of the child PCI bus of a host
to PCI bridge can be read be evaluating the _BBN method of the host to PCI
device.  Unfortunately, there appear to be some lazy/ignorant/moronic/
whatever BIOS writers that return 0 for _BBN for all host to PCI bridges in
the system.  On a system with a single host to PCI bridge this is not a
problem as the child bus of that single bridge will be bus 0 anyway.
However, on systems with multiple host to PCI bridges and l/i/m/w BIOS
writers this is a major problem resulting in all but the first host to
PCI bridge failing to attach.  So, this adds a workaround.

If the _BBN of a host to PCI bridge is zero and pcib0 already exists
and is not us, the we use _ADR to look up our PCI function and slot
(we currently assume we are on bus 0) and use that to call
host_pcib_get_busno() to try and extract our bus number from config
registers on the host to PCI bridge device.  If that fails, then we make
an evil assumption that ACPI's _SB_ namespace lays out the host to PCI
bridges in ascending order and use our pcib unit number as our bus
number.

Approved by:	re
2002-11-22 18:11:13 +00:00
..
alpha MFi386 r1.369 2002-11-18 01:36:09 +00:00
amd64 *sigh*. It seems that in the ACPICA code, Intel defines its own APIC_IO 2002-11-21 20:55:22 +00:00
arm
boot Document loader tunables hw.pci.enable_io_modes and 2002-11-13 09:43:53 +00:00
cam Panic message strings do not need a trailing \n. 2002-11-14 05:35:57 +00:00
coda
compat Regenerate after adding syscalls. 2002-11-16 23:48:14 +00:00
conf Move SHOW_BUSYBUFS and PANIC_REBOOT_WAIT_TIME into the MI options file, since 2002-11-18 06:17:07 +00:00
contrib network interface and link layer changes: 2002-11-15 00:00:15 +00:00
crypto Make this compilable from userland as well. 2002-11-01 08:56:39 +00:00
ddb - Rename the DDB specific %z printf format to %y. 2002-10-25 19:41:32 +00:00
dev According to the ACPI spec, the bus number of the child PCI bus of a host 2002-11-22 18:11:13 +00:00
fs Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
geom Remember to update the providers idea of its size when we reconfigure 2002-11-20 20:12:52 +00:00
gnu MFufs 1.33: 2002-10-18 21:41:41 +00:00
i4b network interface and link layer changes: 2002-11-15 00:00:15 +00:00
i386 *sigh*. It seems that in the ACPICA code, Intel defines its own APIC_IO 2002-11-21 20:55:22 +00:00
ia64 MFi386 r1.369 2002-11-17 21:48:42 +00:00
isa Capitalize the first letter of device descriptions 2002-11-11 15:26:08 +00:00
isofs/cd9660 Unbreak MNT_UPDATE when running with cd as root. Detect mountroot by 2002-11-02 20:16:55 +00:00
kern - Add the new sched_pctcpu() function to the sched_* api. 2002-11-21 09:30:55 +00:00
libkern Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
modules Hook the RAIDFrame module up to the build 2002-11-21 14:52:20 +00:00
net Move fw_one_pass from ip_fw2.c to ip_input.c so that neither 2002-11-20 19:07:27 +00:00
netatalk
netatm - Change the ATM stack functions to use intptr_t instead of int for opaque 2002-11-08 18:27:30 +00:00
netgraph The second try a committing the bluetooth code 2002-11-20 23:01:59 +00:00
netinet Move fw_one_pass from ip_fw2.c to ip_input.c so that neither 2002-11-20 19:07:27 +00:00
netinet6 plugged memory leakage in some erroneous cases 2002-10-31 19:45:48 +00:00
netipsec FAST_IPSEC fixups: 2002-11-08 23:37:50 +00:00
netipx Fix a sizeof(int) != sizeof(void *) warning. 2002-11-08 21:16:27 +00:00
netkey
netnatm
netncp - Change mb_copy_t to take a size_t as the length argument instead of an 2002-11-08 21:26:32 +00:00
netns
netsmb - Change mb_copy_t to take a size_t as the length argument instead of an 2002-11-08 21:26:32 +00:00
nfs
nfsclient reapply 1.26 through 1.28. 2002-11-20 15:21:06 +00:00
nfsserver Permit MAC policies to instrument the access control decisions for 2002-11-04 15:13:36 +00:00
opencrypto correct minor # in make_dev call 2002-11-08 23:07:41 +00:00
pc98 MFi386: revision 1.550. 2002-11-17 02:57:06 +00:00
pccard
pci o track either_ifattach/ether_ifdetach API changes 2002-11-14 23:49:09 +00:00
posix4 Rework the sysconf(3) interaction with aio: 2002-11-17 04:15:34 +00:00
powerpc Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
rpc
security Introduce p_label, extensible security label storage for the MAC framework 2002-11-20 15:41:25 +00:00
sparc64 Fix compile in the case of SMP defined but DDB not defined. 2002-11-20 14:09:33 +00:00
sys - Add the new sched_pctcpu() function to the sched_* api. 2002-11-21 09:30:55 +00:00
tools
ufs The target for the maximum number of dependencies has been cut 2002-11-20 05:16:11 +00:00
vm - Add an event that is triggered when the system is low on memory. This is 2002-11-21 09:17:56 +00:00
Makefile