[PATCH 3/5] Float the pci bus number on MPC8641HPCN board.

Benjamin Herrenschmidt benh at kernel.crashing.org
Fri Jun 1 17:44:14 EST 2007


On Fri, 2007-06-01 at 14:45 +0800, Zhang Wei-r63237 wrote:
> There are lots of lagacy PCI codes in kernel, such as
> pci_bus_to_hose(busnr). If two hose's bus number have overlaps,
> pci_bus_to_hose() can not return the correct hose. And there will
> effect
> /proc/pci and lspci tools.

More specifically...

Overlapping bus numbers on separate domains work... on 64 bits :-) The
32 bits PCI code assumes non-overlapping numbers. The main reason for
that historically was that back then, domains didn't work well.

The second reasons why I didn't actually fix it is that turning on full
domain support had (and probably still has) the nasty habit of breaking
the X server :-( X is full of most horrible hacks for PCI and it will be
terminally broken until they finally merge the pci-rework branch that
Ian Romanick's been working on for some time now.

One of these days, one of us will finally tackle merging 32 and 64 bits
PCI code (and fix both of them while at it to better use the generic
code, which involves fixing issues in the said generic code too :-) at
which point I'll enable full domain support for 32 bits as well, with an
option to degrade it to bus number remapping.

Ben.





More information about the Linuxppc-dev mailing list