qemu-e2k/hw/ppc
Thomas Huth 6f9e8515c1 hw/ppc/ppc4xx_pci: Fix ppc4xx_pci_map_irq() for recent Linux kernels
Recent Linux kernels are accessing the PCI device in slot 0 that
represents the PCI host bridge. This causes ppc4xx_pci_map_irq()
to return -1 which causes an assert() later:

 hw/pci/pci.c:262: pci_bus_change_irq_level: Assertion `irq_num >= 0' failed.

Thus we should allocate an IRQ line for the device in slot 0, too.
To avoid changes to the outside of ppc4xx_pci.c, we map it to
the internal IRQ number 4 which will then happily be ignored since
ppc440_bamboo.c does not wire it up.

With these changes it is now possible again to use recent Linux
kernels for the bamboo board.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20211019091817.469003-1-thuth@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-10-21 11:42:47 +11:00
..
e500-ccsr.h
e500.c qdev: Make DeviceState.id independent of QemuOpts 2021-10-15 16:06:35 +02:00
e500.h
e500plat.c hw/ppc/e500plat: Only try to add valid dynamic sysbus devices to platform bus 2021-04-06 11:49:14 +01:00
fdt.c
fw_cfg.c
Kconfig hw/ppc/Kconfig: Add dependency PEGASOS2 -> ATI_VGA 2021-07-20 20:10:20 +02:00
mac_newworld.c ppc patch queue 2021-05-04 2021-05-05 20:29:14 +01:00
mac_oldworld.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
mac.h
meson.build spapr: Implement Open Firmware client interface 2021-07-09 10:38:19 +10:00
mpc8544_guts.c
mpc8544ds.c
pef.c ppc/pef.c: initialize cgs->ready in kvmppc_svm_init() 2021-06-03 18:10:31 +10:00
pegasos2.c ppc/pegasos2: Implement power-off RTAS function with VOF 2021-10-21 11:42:47 +11:00
pnv_bmc.c
pnv_core.c ppc/pnv: Rename "id" to "quad-id" in PnvQuad 2021-09-29 19:37:38 +10:00
pnv_homer.c
pnv_lpc.c
pnv_occ.c
pnv_pnor.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
pnv_psi.c ppc patch queue 2021-05-04 2021-05-05 20:29:14 +01:00
pnv_xscom.c ppc/pnv: Add a comment on the "primary-topology-index" property 2021-09-29 19:37:38 +10:00
pnv.c ppc/pnv: Add an assert when calculating the RAM distribution on chips 2021-09-29 19:37:39 +10:00
ppc4xx_devs.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
ppc4xx_pci.c hw/ppc/ppc4xx_pci: Fix ppc4xx_pci_map_irq() for recent Linux kernels 2021-10-21 11:42:47 +11:00
ppc405_boards.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
ppc405_uc.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
ppc405.h
ppc440_bamboo.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
ppc440_pcix.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
ppc440_uc.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
ppc440.h
ppc_booke.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
ppc.c hw/ppc: Fix iothread locking in the 405 code 2021-10-21 11:42:47 +11:00
ppce500_spin.c
prep_systemio.c
prep.c arch_init.h: Don't include arch_init.h unnecessarily 2021-08-26 17:02:00 +01:00
rs6000_mc.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sam460ex.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
spapr_caps.c target/ppc: Support for H_RPT_INVALIDATE hcall 2021-07-09 11:01:06 +10:00
spapr_cpu_core.c ppc/spapr: Add a POWER10 DD2 CPU 2021-09-29 19:37:38 +10:00
spapr_drc.c spapr: use DEVICE_UNPLUG_GUEST_ERROR to report unplug errors 2021-09-30 12:26:06 +10:00
spapr_events.c spapr: Explain purpose of ->fwnmi_migration_blocker more clearly 2021-08-26 17:15:28 +02:00
spapr_hcall.c spapr: move FORM1 verifications to post CAS 2021-09-30 12:26:06 +10:00
spapr_iommu.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
spapr_irq.c
spapr_numa.c spapr_numa.c: fixes in spapr_numa_FORM2_write_rtas_tables() 2021-09-30 12:26:06 +10:00
spapr_nvdimm.c spapr: nvdimm: Fix the persistent-memory root node name in device tree 2021-06-03 13:22:06 +10:00
spapr_ovec.c
spapr_pci_nvlink2.c
spapr_pci_vfio.c spapr: Fix EEH capability issue on KVM guest for PCI passthru 2021-06-03 13:22:06 +10:00
spapr_pci.c spapr_pci: Fix leak in spapr_phb_vfio_get_loc_code() with g_autofree 2021-08-27 12:41:12 +10:00
spapr_rng.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
spapr_rtas_ddw.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
spapr_rtas.c spapr: Set LPCR to current AIL mode when starting a new CPU 2021-06-03 13:22:06 +10:00
spapr_rtc.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
spapr_softmmu.c hw/ppc/spapr_softmmu: Reduce include list 2021-10-21 11:42:47 +11:00
spapr_tpm_proxy.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
spapr_vio.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
spapr_vof.c spapr: Fix implementation of Open Firmware client interface 2021-07-09 10:55:11 +10:00
spapr.c machine: Move smp_prefer_sockets to struct SMPCompatProps 2021-10-01 15:29:15 +02:00
trace-events target/ppc: Convert debug to trace events (decrementer and IRQ) 2021-09-30 12:26:06 +10:00
trace.h
virtex_ml507.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
vof.c ppc/vof: Fix Coverity issues 2021-07-29 10:59:49 +10:00