acpi/pcib: Rework the _BBN handling for Host-PCI bridges.
Obtained-from: FreeBSD (Revision 193829 by jhb@freebsd.org)
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.