qemu/hw/ppc
Cédric Le Goater 82cffa2eb2 spapr: introduce a fixed IRQ number space
This proposal introduces a new IRQ number space layout using static
numbers for all devices, depending on a device index, and a bitmap
allocator for the MSI IRQ numbers which are negotiated by the guest at
runtime.

As the VIO device model does not have a device index but a "reg"
property, we introduce a formula to compute an IRQ number from a "reg"
value. It should minimize most of the collisions.

The previous layout is kept in pre-3.1 machines raising the
'legacy_irq_allocation' machine class flag.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-08-21 14:28:45 +10:00
..
e500-ccsr.h
e500.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
e500.h platform-bus-device: use device plug callback instead of machine_done notifier 2018-05-10 18:10:56 +01:00
e500plat.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
fdt.c target/ppc: Split page size information into a separate allocation 2018-04-27 18:05:22 +10:00
mac_newworld.c ppc: fix default VGA display for Mac machines 2018-07-07 12:12:27 +10:00
mac_oldworld.c ppc: fix default VGA display for Mac machines 2018-07-07 12:12:27 +10:00
mac.h hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
Makefile.objs spapr: introduce a fixed IRQ number space 2018-08-21 14:28:45 +10:00
mpc8544_guts.c
mpc8544ds.c ppc: e500: switch E500 based machines to full machine definition 2018-04-27 18:05:23 +10:00
pnv_bmc.c
pnv_core.c ppc/pnv: fix pnv_core_realize() error handling 2018-07-03 09:56:51 +10:00
pnv_lpc.c ppc/pnv: introduce a new isa_create() operation to the chip model 2018-06-21 21:22:53 +10:00
pnv_occ.c
pnv_psi.c
pnv_xscom.c
pnv.c hw: Directly use "qemu/units.h" instead of "qemu/cutils.h" 2018-07-02 15:41:12 +02:00
ppc4xx_devs.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
ppc4xx_pci.c
ppc405_boards.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
ppc405_uc.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
ppc405.h
ppc440_bamboo.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
ppc440_pcix.c sam460ex: Fix PCI interrupts with multiple devices 2018-08-01 11:01:38 +10:00
ppc440_uc.c ppc440_uc: Fix a copy/paste error 2018-07-07 12:12:27 +10:00
ppc440.h ppc440_uc: Basic emulation of PPC440 DMA controller 2018-07-03 09:56:52 +10:00
ppc_booke.c
ppc.c
ppce500_spin.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
prep_systemio.c
prep.c ppc: fix default VGA display for PReP machines 2018-07-07 12:12:34 +10:00
rs6000_mc.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
sam460ex.c sam460ex: Fix PCI interrupts with multiple devices 2018-08-01 11:01:38 +10:00
spapr_caps.c spapr: compute default value of "hpt-max-page-size" later 2018-07-03 10:20:15 +10:00
spapr_cpu_core.c spapr_cpu_core: vmstate_[un]register per-CPU data from (un)realizefn 2018-08-21 11:09:34 +10:00
spapr_drc.c hw/ppc/spapr_drc: Replace error_setg(&error_abort) by error_report() + abort() 2018-06-12 09:33:52 +10:00
spapr_events.c spapr: introduce a fixed IRQ number space 2018-08-21 14:28:45 +10:00
spapr_hcall.c target/ppc, spapr: Move VPA information to machine_data 2018-06-16 16:32:50 +10:00
spapr_iommu.c iommu: Add IOMMU index argument to translate method 2018-06-15 15:23:34 +01:00
spapr_irq.c spapr: introduce a fixed IRQ number space 2018-08-21 14:28:45 +10:00
spapr_ovec.c Purge uses of banned g_assert_FOO() 2018-06-13 13:47:35 +02:00
spapr_pci_vfio.c
spapr_pci.c spapr: introduce a fixed IRQ number space 2018-08-21 14:28:45 +10:00
spapr_rng.c
spapr_rtas_ddw.c machine: rename MemoryHotplugState to DeviceMemoryState 2018-05-07 10:00:02 -03:00
spapr_rtas.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
spapr_rtc.c qapi: Empty out qapi-schema.json 2018-03-02 13:45:50 -06:00
spapr_vio.c spapr: introduce a fixed IRQ number space 2018-08-21 14:28:45 +10:00
spapr.c spapr: introduce a fixed IRQ number space 2018-08-21 14:28:45 +10:00
trace-events uninorth: create new uninorth device 2018-05-04 15:00:37 +10:00
virtex_ml507.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00