qemu-e2k/hw/ppc
David Hildenbrand d8e81d6e60 spapr/pci: Fix primary bus number for PCI bridges
While looking at the s390x implementation, looks like spapr has a
similar BUG when building the topology.

The primary bus number corresponds always to the bus number of the
bus the bridge is attached to.

Right now, if we have two bridges attached to the same bus (e.g. root
bus) this is however not the case. The first bridge will have primary
bus 0, the second bridge primary bus 1, which is wrong. Fix the assignment.

While at it, drop setting the PCI_SUBORDINATE_BUS temporarily to 0xff.
Setting it temporarily to that value (as discussed e.g. in [1]), is
only relevant for a running system that probes the buses. The value is
effectively unused for us just doing a DFS.

[1] http://www.science.unitn.it/~fiorella/guidelinux/tlk/node76.html

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-02-04 18:44:18 +11:00
..
e500-ccsr.h
e500.c Support u-boot noload images for arm as used by, NetBSD/evbarm GENERIC kernel. 2019-01-07 15:46:20 +00:00
e500.h
e500plat.c
fdt.c
mac_newworld.c mac_newworld: simplify IRQ wiring 2018-12-21 09:24:23 +11:00
mac_oldworld.c
mac.h
Makefile.objs
mpc8544_guts.c
mpc8544ds.c
pnv_bmc.c
pnv_core.c ppc: replace the 'Object *intc' by a 'ICPState *icp' pointer under the CPU 2019-01-09 09:28:14 +11:00
pnv_lpc.c
pnv_occ.c
pnv_psi.c pnv/psi: move the ICSState qemu_irq array under the PSI device model 2019-01-09 09:28:14 +11:00
pnv_xscom.c
pnv.c ppc: replace the 'Object *intc' by a 'ICPState *icp' pointer under the CPU 2019-01-09 09:28:14 +11:00
ppc4xx_devs.c ppc4xx: Pass array index to function instead of pointer into the array 2019-02-04 18:44:17 +11:00
ppc4xx_pci.c
ppc405_boards.c ppc405_boards: use g_new(T, n) instead of g_malloc(sizeof(T) * n) 2018-12-21 09:24:23 +11:00
ppc405_uc.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
ppc405.h
ppc440_bamboo.c ppc4xx: Use ram_addr_t in ppc4xx_sdram_adjust() 2019-02-04 18:44:17 +11:00
ppc440_pcix.c
ppc440_uc.c ppc440: Avoid reporting error when reading non-existent RAM slot 2019-02-04 18:44:17 +11:00
ppc440.h
ppc_booke.c
ppc.c
ppce500_spin.c
prep_systemio.c
prep.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
rs6000_mc.c
sam460ex.c sam460ex: Fix support for memory larger than 1GB 2019-02-04 18:44:17 +11:00
spapr_caps.c
spapr_cpu_core.c ppc: replace the 'Object *intc' by a 'ICPState *icp' pointer under the CPU 2019-01-09 09:28:14 +11:00
spapr_drc.c
spapr_events.c
spapr_hcall.c spapr: introduce a new sPAPR IRQ backend supporting XIVE and XICS 2019-01-09 09:28:14 +11:00
spapr_iommu.c qemu/queue.h: leave head structs anonymous unless necessary 2019-01-11 15:46:55 +01:00
spapr_irq.c ppc: Move spapr-related prototypes from xics.h into a seperate header file 2019-01-22 05:14:33 +01:00
spapr_ovec.c
spapr_pci_vfio.c
spapr_pci.c spapr/pci: Fix primary bus number for PCI bridges 2019-02-04 18:44:18 +11:00
spapr_rng.c
spapr_rtas_ddw.c spapr-iommu: Always advertise the maximum possible DMA window size 2018-12-21 09:37:38 +11:00
spapr_rtas.c
spapr_rtc.c
spapr_vio.c spapr/vio: remove the "irq" property" 2019-02-04 18:44:17 +11:00
spapr.c spapr: Forbid setting ic-mode for old machine types 2019-02-04 18:44:18 +11:00
trace-events ppc/spapr: Receive and store device tree blob from SLOF 2019-01-09 09:28:13 +11:00
virtex_ml507.c virtex_ml507: use g_new(T, n) instead of g_malloc(sizeof(T) * n) 2018-12-21 09:24:23 +11:00