Peer bridge fixup issue under multiple pci domain

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I'm trying to use multiple pci domain in qemu q35, but I find there
might be some issues in peer bridge fixup.

In short, pcibios_fixup_peer_bridges function assumes only one pci
domain (0) by default. This is OK when as qemu by default uses only
one pci domain too. However, if I add another host bridge which is
put into pci domain 1 by using _SEG, and a pcie_pci_bridge is attached
to the bus 1 under this new pci domain 1 rather than domain 0, the
kernel will recognize the bus 01 differently.

More specifically, pcibios_fixup_peer_bridges only reads all the buses
under domain 0 but it can read the pci bus 01 in pci domain 1 and treat
it as a peer bus of 0000:00. The consequence is this 01 bus is recognized
as 0000:01, but it should have been recognized as 0001:01.

The host bus 0001:00 can be recognized so I guess pcibios_fixup_peer_bridges
needs updating to take care of multiple domains? Or is it just an bios issue?
I'm not quite sure and I'm open to any suggestions.

Thanks,
Ziahn



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux