qemu-e2k/include/hw
Eric Auger cddafd8f35 hw/intc/arm_gicv3_its: Implement state save/restore
We need to handle both registers and ITS tables. While
register handling is standard, ITS table handling is more
challenging since the kernel API is devised so that the
tables are flushed into guest RAM and not in vmstate buffers.

Flushing the ITS tables on device pre_save() is too late
since the guest RAM is already saved at this point.

Table flushing needs to happen when we are sure the vcpus
are stopped and before the last dirty page saving. The
right point is RUN_STATE_FINISH_MIGRATE but sometimes the
VM gets stopped before migration launch so let's simply
flush the tables each time the VM gets stopped.

For regular ITS registers we just can use vmstate pre_save()
and post_load() callbacks.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-id: 1497023553-18411-3-git-send-email-eric.auger@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-06-13 14:57:00 +01:00
..
acpi migration: Remove unneeded includes of migration/vmstate.h 2017-06-01 18:49:22 +02:00
adc
arm hw/arm/exynos: Move DRAM initialization next boards 2017-06-13 14:56:57 +01:00
audio audio: Rename hw/audio/audio.h to hw/audio/soundhw.h 2017-05-19 10:48:54 +02:00
block
char char: move CharBackend handling in char-fe unit 2017-06-02 11:33:53 +04:00
core
cpu
cris
display
dma
gpio
i2c
i386 pc: Use "min-[x]level" on compat_props 2017-06-05 14:59:08 -03:00
ide
input
intc hw/intc/arm_gicv3_its: Implement state save/restore 2017-06-13 14:57:00 +01:00
ipack
ipmi
isa
kvm
lm32
m68k
mem
mips hw/mips: add missing include 2017-06-04 18:42:55 +03:00
misc
net
nvram
pci migration: Remove unneeded includes of migration/vmstate.h 2017-06-01 18:49:22 +02:00
pci-host hw/ppc: removing drc->detach_cb and drc->detach_cb_opaque 2017-05-25 11:31:33 +10:00
ppc Revert "spapr: fix memory hot-unplugging" 2017-06-09 12:35:46 +10:00
s390x s390x/css: fence off MIDA 2017-06-06 10:17:11 +02:00
scsi
sd
sh4
smbios
sparc
ssi
timer qtest: add rtc periodic timer test 2017-06-06 20:18:35 +02:00
tricore
unicore32
usb
vfio vfio/ccw: vfio based subchannel passthrough driver 2017-05-19 12:29:01 +02:00
virtio vhost: rework IOTLB messaging 2017-06-02 18:57:17 +03:00
watchdog
xen
boards.h machine: call machine init from wrapper 2017-05-11 16:08:50 -03:00
bt.h
compat.h hw/pcie: fix the generic pcie root port to support migration 2017-06-08 22:02:37 +03:00
devices.h
elf_ops.h
empty_slot.h
fw-path-provider.h
hotplug.h
hw.h migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
ide.h
irq.h
loader-fit.h
loader.h
nmi.h
or-irq.h
pcmcia.h
platform-bus.h
ptimer.h
qdev-core.h qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
qdev-dma.h
qdev-properties.h qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
qdev.h
register.h
registerfields.h
stream.h
sysbus.h
usb.h