qemu-patch-raspberry4/hw/intc
Christoffer Dall 855011be05 hw: arm_gic_kvm: Add KVM VGIC save/restore logic
Save and restore the ARM KVM VGIC state from the kernel.  We rely on
QEMU to marshal the GICState data structure and therefore simply
synchronize the kernel state with the QEMU emulated state in both
directions.

We take some care on the restore path to check the VGIC has been
configured with enough IRQs and CPU interfaces that we can properly
restore the state, and for separate set/clear registers we first fully
clear the registers and then set the required bits.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Message-id: 1392687921-26921-1-git-send-email-christoffer.dall@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-02-26 17:20:01 +00:00
..
allwinner-a10-pic.c hw/intc: add allwinner A10 interrupt controller 2013-12-17 20:12:51 +00:00
apic.c exec: Make cpu_physical_memory_write_rom input an AS 2014-02-11 22:57:44 +10:00
apic_common.c icc_bus: QOM'ify ICC 2013-12-24 18:02:18 +01:00
arm_gic.c hw/intc/arm_gic: Fix NVIC assertion failure 2014-02-20 10:35:48 +00:00
arm_gic_common.c arm_gic: Add GICC_APRn state to the GICState 2014-02-08 14:50:48 +00:00
arm_gic_kvm.c hw: arm_gic_kvm: Add KVM VGIC save/restore logic 2014-02-26 17:20:01 +00:00
armv7m_nvic.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
etraxfs_pic.c hw: cannot_instantiate_with_device_add_yet due to pointer props 2013-12-24 17:27:17 +01:00
exynos4210_combiner.c hw/intc/exynos4210_combiner: Don't overrun output_irq array in init 2014-02-26 17:19:58 +00:00
exynos4210_gic.c exynos4210_gic: QOM cast cleanup for exynos4210.irq_gate 2013-07-29 21:06:57 +02:00
gic_internal.h hw/intc/arm_gic: Fix GIC_SET_LEVEL 2014-02-26 17:19:59 +00:00
grlib_irqmp.c hw: cannot_instantiate_with_device_add_yet due to pointer props 2013-12-24 17:27:17 +01:00
heathrow_pic.c memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
i8259.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
i8259_common.c qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
imx_avic.c imx_avic: QOM cast cleanup 2013-07-29 21:06:05 +02:00
ioapic.c ioapic: QOM'ify ioapic 2013-12-24 18:02:18 +01:00
ioapic_common.c ioapic: QOM'ify ioapic 2013-12-24 18:02:18 +01:00
lm32_pic.c lm32_pic: QOM cast cleanup 2013-07-29 21:06:57 +02:00
Makefile.objs hw/intc: add allwinner A10 interrupt controller 2013-12-17 20:12:51 +00:00
omap_intc.c hw: cannot_instantiate_with_device_add_yet due to pointer props 2013-12-24 17:27:17 +01:00
openpic.c intc/openpic: Build openpic only once 2013-07-09 21:33:02 +02:00
openpic_kvm.c hw/i*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
pl190.c sysbus: Set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
puv3_intc.c puv3_intc: QOM cast cleanup 2013-07-29 21:06:58 +02:00
realview_gic.c realview_gic: Prepare for QOM embedding 2013-11-05 17:47:30 +01:00
sh_intc.c cpu: Make first_cpu and next_cpu CPUState 2013-07-09 21:32:54 +02:00
slavio_intctl.c slavio_intctl: QOM cast cleanup 2013-07-29 21:06:58 +02:00
xics.c spapr-rtas: replace return code constants with macros 2013-12-20 01:57:59 +01:00
xics_kvm.c xics-kvm: enable irqfd for MSI 2013-10-25 23:25:47 +02:00
xilinx_intc.c xilinx_intc: QOM cast cleanup 2013-07-29 21:06:58 +02:00