qemu/hw/pci-host
Michael Davidsaver 67113c0342 e500: fix pci host bridge class/type
Correct some confusion wrt. the PCI facing
side of the PCI host bridge (not PCIe root complex).
The ref. manual for the mpc8533 (as well as
mpc8540 and mpc8540) give the class code as
PCI_CLASS_PROCESSOR_POWERPC.
While the PCI_HEADER_TYPE field is oddly omitted,
the tables in the "PCI Configuration Header"
section shows a type 0 layout using all 6 BAR
registers (as 2x 32, and 2x 64 bit regions)

So 997505065d
seems to be in error.  Although there was
perhaps some confusion as the mpc8533
has a separate PCIe root complex.
With PCIe, a root complex has PCI_HEADER_TYPE=1.

Neither the PCI host bridge, nor the PCIe
root complex advertise class PCI_CLASS_BRIDGE_PCI.

This was confusing Linux guests, which try
to interpret the host bridge as a pci-pci
bridge, but get confused and re-enumerate
the bus when the primary/secondary/subordinate
bus registers don't have valid values.

Signed-off-by: Michael Davidsaver <mdavidsaver@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-12-15 09:49:24 +11:00
..
apb.c sun4u: update PCI topology to include simba PCI bridges 2017-10-19 07:45:35 +01:00
bonito.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
gpex.c hw/pci-host/gpex: Improve INTX to gsi routing error checking 2017-10-31 11:50:52 +00:00
grackle.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
Makefile.objs hw: xilinx-pcie: Add support for Xilinx AXI PCIe Controller 2017-02-21 23:49:29 +00:00
pam.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
piix.c hw/pci-host: Fix x86 Host Bridges 64bit PCI hole 2017-11-16 17:46:53 +02:00
ppce500.c e500: fix pci host bridge class/type 2017-12-15 09:49:24 +11:00
prep.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
q35.c hw/pci-host: Fix x86 Host Bridges 64bit PCI hole 2017-11-16 17:46:53 +02:00
uninorth.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
versatile.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
xilinx-pcie.c pci: Add INTERFACE_PCIE_DEVICE to all PCIe devices 2017-10-15 05:54:42 +03:00