qemu-e2k/hw/intc
Sam Bobroff 229e16fd24 ppc/xics: preserve P and Q bits for KVM IRQs
Kernel commit 17d48610ae0f ("KVM: PPC: Book 3S: XICS: Implement ICS
P/Q states") added new bits to the state used by KVM IRQs. Currently,
QEMU does not preserve these bits, so migrating (or otherwise saving
and restoring) the guest state causes the P and Q bits to be cleared.

Clearing the P bit has no effect, because the kernel will set it based
on other data, but the loss of a set Q bit will cause a lost
interrupt.

This patch preserves the P and Q bits, correcting the problem.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-05-11 09:45:15 +10:00
..
allwinner-a10-pic.c
apic_common.c Revert "apic: save apic_delivered flag" 2017-03-27 14:41:01 +02:00
apic.c apic: add send_msi() to APICCommonClass 2016-10-17 15:44:49 -02:00
arm_gic_common.c arm: gic: Remove references to NVIC 2017-02-28 12:08:17 +00:00
arm_gic_kvm.c migration: disallow migrate_add_blocker during migration 2017-01-24 18:00:30 +00:00
arm_gic.c hw/intc/arm_gic: modernise the DPRINTF 2017-03-09 10:41:49 +00:00
arm_gicv2m.c
arm_gicv3_common.c target-arm: Add GICv3CPUState in CPUARMState struct 2017-02-28 17:10:00 +00:00
arm_gicv3_cpuif.c target-arm: Add GICv3CPUState in CPUARMState struct 2017-02-28 17:10:00 +00:00
arm_gicv3_dist.c
arm_gicv3_its_common.c hw/intc/arm_gicv3_its: Implement ITS base class 2016-10-04 13:28:08 +01:00
arm_gicv3_its_kvm.c migration: disallow migrate_add_blocker during migration 2017-01-24 18:00:30 +00:00
arm_gicv3_kvm.c hw/intc/arm_gicv3_kvm: Check KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS in reset 2017-03-31 12:41:14 +01:00
arm_gicv3_redist.c
arm_gicv3.c hw/intc/arm_gicv3: Don't signal Pending+Active interrupts to CPU 2016-12-27 14:59:25 +00:00
armv7m_nvic.c armv7m: Split systick out from NVIC 2017-02-28 16:18:49 +00:00
aspeed_vic.c
bcm2835_ic.c
bcm2836_control.c
etraxfs_pic.c
exynos4210_combiner.c
exynos4210_gic.c migration: consolidate VMStateField.start 2017-02-13 17:27:13 +00:00
gic_internal.h arm: gic: Remove references to NVIC 2017-02-28 12:08:17 +00:00
gicv3_internal.h target-arm: Add GICv3CPUState in CPUARMState struct 2017-02-28 17:10:00 +00:00
grlib_irqmp.c
heathrow_pic.c
i8259_common.c i8259: give ISA device when registering ISA ioports 2016-10-04 10:00:26 +02:00
i8259.c intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
imx_avic.c
intc.c intc: add an interface to gather statistics/informations on interrupt controllers 2016-10-04 10:00:25 +02:00
ioapic_common.c x86: ioapic: dump version for "info ioapic" 2017-01-16 17:52:35 +01:00
ioapic.c ioapic: fix error report value of def version 2017-02-16 14:06:55 +01:00
lm32_pic.c intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
Makefile.objs ppc/pnv: add a PnvICPState object 2017-04-26 12:00:42 +10:00
mips_gic.c hw/mips_gic: Update pin state on mask changes 2017-02-21 22:24:58 +00:00
nios2_iic.c nios2: iic: Convert CPU prop to qom link 2017-03-18 18:22:54 +00:00
omap_intc.c
openpic_kvm.c
openpic.c
pl190.c
puv3_intc.c
realview_gic.c
s390_flic_kvm.c s390x/flic: fail migration on source already 2017-02-24 10:15:18 +01:00
s390_flic.c s390x/flic: cache flic in s390_get_flic 2017-04-21 09:32:09 +02:00
sh_intc.c
slavio_intctl.c intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
trace-events armv7m: Rewrite NVIC to not use any GIC code 2017-02-28 12:08:17 +00:00
vgic_common.h
xics_kvm.c ppc/xics: preserve P and Q bits for KVM IRQs 2017-05-11 09:45:15 +10:00
xics_pnv.c ppc/pnv: add a PnvICPState object 2017-04-26 12:00:42 +10:00
xics_spapr.c spapr: move the IRQ server number mapping under the machine 2017-04-26 12:00:42 +10:00
xics.c ppc/xics: add a realize() handler to ICPStateClass 2017-04-26 12:00:42 +10:00
xilinx_intc.c