]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Rework the _BBN handling for Host-PCI bridges. Previously we only trusted
authorJohn Baldwin <jhb@FreeBSD.org>
Tue, 9 Jun 2009 13:44:17 +0000 (13:44 +0000)
committerJohn Baldwin <jhb@FreeBSD.org>
Tue, 9 Jun 2009 13:44:17 +0000 (13:44 +0000)
commit0668724b996c1012f4aa1432bf62b628e6f0930d
tree41880645f901f36627ecfbabd535150c412541f5
parent3e7865bcfcf79abd482da6144348218137ccbaaa
Rework the _BBN handling for Host-PCI bridges.  Previously we only trusted
a _BBN value of 0 if it was for the first bridge encountered since some
older systems returned _BBN of 0 for all bridges.  However, some newer
systems enumerate bridges with non-zero _BBN before bus 0 which is
perfectly valid.  Handle both cases by trusting the first bridge that has
a _BBN of 0 and falling back to reading from non-standard config registers
only for subsequent bridges with a _BBN of 0.  We also only perform this
check for segment (domain) 0.  We assume that _BBN is always correct
for segments other than 0.

Tested by: Josef Moellers  josef.moellers at fujitsu
MFC after: 1 week
sys/dev/acpica/acpi_pcib_acpi.c