qemu-e2k/hw/intc
Cédric Le Goater cdd71c8e9d spapr/xive: fix multiple resets when using the 'dual' interrupt mode
Today, when a reset occurs on a pseries machine using the 'dual'
interrupt mode, the KVM devices are released and recreated depending
on the interrupt mode selected by CAS. If XIVE is selected, the SysBus
memory regions of the SpaprXive model are initialized by the KVM
backend initialization routine each time a reset occurs. This leads to
a crash after a couple of resets because the machine reaches the
QDEV_MAX_MMIO limit of SysBusDevice :

qemu-system-ppc64: hw/core/sysbus.c:193: sysbus_init_mmio: Assertion `dev->num_mmio < QDEV_MAX_MMIO' failed.

To fix, initialize the SysBus memory regions in spapr_xive_realize()
called only once and remove the same inits from the QEMU and KVM
backend initialization routines which are called at each reset.

Reported-by: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20190522074016.10521-2-clg@kaod.org>
Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-05-29 11:39:47 +10:00
..
allwinner-a10-pic.c hw: Remove unused 'hw/devices.h' include 2019-03-07 22:16:11 +01:00
apic_common.c
apic.c
arm_gic_common.c
arm_gic_kvm.c
arm_gic.c
arm_gicv2m.c
arm_gicv3_common.c
arm_gicv3_cpuif.c hw/intc/arm_gicv3: Fix writes to ICC_CTLR_EL3 2019-05-23 14:47:44 +01:00
arm_gicv3_dist.c
arm_gicv3_its_common.c
arm_gicv3_its_kvm.c
arm_gicv3_kvm.c
arm_gicv3_redist.c
arm_gicv3.c
armv7m_nvic.c hw/intc/nvic: Use object_initialize_child for correct reference counting 2019-05-24 15:29:02 -03:00
aspeed_vic.c
bcm2835_ic.c
bcm2836_control.c hw/intc/bcm2836_control: Implement local timer 2019-03-15 11:12:28 +00:00
etraxfs_pic.c
exynos4210_combiner.c
exynos4210_gic.c
gic_internal.h
gicv3_internal.h
grlib_irqmp.c grlib, irqmp: get rid of the old-style create function 2019-05-17 09:17:11 +01:00
heathrow_pic.c
i8259_common.c
i8259.c
imx_avic.c
imx_gpcv2.c
intc.c
ioapic_common.c
ioapic.c ioapic: allow buggy guests mishandling level-triggered interrupts to make progress 2019-05-17 15:19:39 +02:00
Kconfig kconfig: add CONFIG_MSI_NONBROKEN 2019-03-18 09:39:57 +01:00
lm32_pic.c
Makefile.objs spapr/xive: add KVM support 2019-05-29 11:39:45 +10:00
mips_gic.c
nios2_iic.c
omap_intc.c
ompic.c
openpic_kvm.c
openpic.c
pl190.c
pnv_xive_regs.h ppc/pnv: add a XIVE interrupt controller model for POWER9 2019-03-12 14:33:04 +11:00
pnv_xive.c ppc/pnv: add a XIVE interrupt controller model for POWER9 2019-03-12 14:33:04 +11:00
puv3_intc.c
realview_gic.c
s390_flic_kvm.c
s390_flic.c
sh_intc.c
slavio_intctl.c
spapr_xive_kvm.c spapr/xive: fix multiple resets when using the 'dual' interrupt mode 2019-05-29 11:39:47 +10:00
spapr_xive.c spapr/xive: fix multiple resets when using the 'dual' interrupt mode 2019-05-29 11:39:47 +10:00
trace-events ioapic: allow buggy guests mishandling level-triggered interrupts to make progress 2019-05-17 15:19:39 +02:00
vgic_common.h
xics_kvm.c spapr/irq: add KVM support to the 'dual' machine 2019-05-29 11:39:46 +10:00
xics_pnv.c
xics_spapr.c spapr/irq: initialize the IRQ device only once 2019-05-29 11:39:46 +10:00
xics.c ppc/xics: fix irq priority in ics_set_irq_type() 2019-05-29 11:39:46 +10:00
xilinx_intc.c
xive.c spapr/irq: add KVM support to the 'dual' machine 2019-05-29 11:39:46 +10:00
xlnx-pmu-iomod-intc.c
xlnx-zynqmp-ipi.c