qemu-e2k/hw/ppc
Cédric Le Goater e39de895f6 spapr: introduce a spapr_irq class 'nr_msis' attribute
The number of MSI interrupts a sPAPR machine can allocate is in direct
relation with the number of interrupts of the sPAPRIrq backend. Define
statically this value at the sPAPRIrq class level and use it for the
"ibm,pe-total-#msi" property of the sPAPR PHB.

According to the PAPR specs, "ibm,pe-total-#msi" defines the maximum
number of MSIs that are available to the PE. We choose to advertise
the maximum number of MSIs that are available to the machine for
simplicity of the model and to avoid segmenting the MSI interrupt pool
which can be easily shared. If the pool limit is reached, it can be
extended dynamically.

Finally, remove XICS_IRQS_SPAPR which is now unused.

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-09-25 11:12:25 +10:00
..
Makefile.objs spapr: introduce a fixed IRQ number space 2018-08-21 14:28:45 +10:00
e500-ccsr.h ppc: do not use ../ in include files 2013-03-01 13:57:33 +01:00
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.h macio: move MACIOIDEState type declarations to macio.h 2018-08-30 10:42:18 +10:00
mac_newworld.c mac_newworld: implement custom FWPathProvider 2018-08-30 10:42:18 +10:00
mac_oldworld.c mac_oldworld: implement custom FWPathProvider 2018-08-30 10:42:18 +10:00
mpc8544_guts.c shutdown: Add source information to SHUTDOWN and RESET 2017-05-23 13:28:17 +02:00
mpc8544ds.c ppc: e500: switch E500 based machines to full machine definition 2018-04-27 18:05:23 +10:00
pnv.c hw: Directly use "qemu/units.h" instead of "qemu/cutils.h" 2018-07-02 15:41:12 +02:00
pnv_bmc.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
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 ppc/pnv: Add OCC model stub with interrupt support 2017-04-26 12:00:42 +10:00
pnv_psi.c ppc/pnv: change powernv_ prefix to pnv_ for overall naming consistency 2018-01-10 12:53:00 +11:00
pnv_xscom.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
ppc.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
ppc4xx_devs.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
ppc4xx_pci.c pci: Rename root bus initialization functions for clarity 2017-12-05 19:13:45 +02:00
ppc405.h ppc4xx: Export ECB and PLB emulation 2017-09-08 09:30:55 +10:00
ppc405_boards.c ppc: Remove deprecated ppcemb target 2018-08-28 11:31:23 +10:00
ppc405_uc.c hw/ppc/ppc405_uc: Convert away from old_mmio 2018-08-21 14:28:45 +10:00
ppc440.h ppc440_uc: Basic emulation of PPC440 DMA controller 2018-07-03 09:56:52 +10:00
ppc440_bamboo.c ppc: Remove deprecated ppcemb target 2018-08-28 11:31:23 +10: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
ppc_booke.c ppc_booke: drop useless assignment 2017-05-07 09:57:51 +03:00
ppce500_spin.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
prep.c 40p: use OR gate to wire up raven PCI interrupts 2018-09-25 11:12:25 +10:00
prep_systemio.c prep: add PReP System I/O 2017-01-31 10:10:13 +11:00
rs6000_mc.c hw/ppc: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
sam460ex.c ppc: Remove deprecated ppcemb target 2018-08-28 11:31:23 +10:00
spapr.c spapr: Correct reference count on spapr-cpu-core 2018-08-30 15:58:42 +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 target/ppc/kvm: set vcpu as online/offline 2018-09-05 16:06:19 +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 spapr_irq class 'nr_msis' attribute 2018-09-25 11:12:25 +10:00
spapr_ovec.c Purge uses of banned g_assert_FOO() 2018-06-13 13:47:35 +02:00
spapr_pci.c spapr: introduce a spapr_irq class 'nr_msis' attribute 2018-09-25 11:12:25 +10:00
spapr_pci_vfio.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
spapr_rng.c spapr_rng: Convert to DEFINE_PROP_LINK 2017-07-14 12:04:43 +02:00
spapr_rtas.c target/ppc/kvm: set vcpu as online/offline 2018-09-05 16:06:19 +10:00
spapr_rtas_ddw.c machine: rename MemoryHotplugState to DeviceMemoryState 2018-05-07 10:00:02 -03:00
spapr_rtc.c qapi: Drop qapi_event_send_FOO()'s Error ** argument 2018-08-28 18:21:38 +02:00
spapr_vio.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 ppc: Remove deprecated ppcemb target 2018-08-28 11:31:23 +10:00