qemu-patch-raspberry4/include/hw
David Gibson 4be21d561d pseries: savevm support for pseries machine
This adds the necessary pieces to implement savevm / migration for the
pseries machine.  The most complex part here is migrating the hash
table - for the paravirtualized pseries machine the guest's hash page
table is not stored within guest memory, but externally and the guest
accesses it via hypercalls.

This patch uses a hypervisor reserved bit of the HPTE as a dirty bit
(tracking changes to the HPTE itself, not the page it references).
This is used to implement a live migration style incremental save and
restore of the hash table contents.

Normally a hash table is 16MB but it can get bigger depending on how
much RAM the guest has. Due to its nature, updates to it are random so
the live migration style is used for it.

In addition it adds VMStateDescription information to save and restore
the (few) remaining pieces of state information needed by the pseries
machine.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Message-id: 1374175984-8930-9-git-send-email-aliguori@us.ibm.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-07-29 10:37:08 -05:00
..
acpi ich9: kill cmos_s3 2013-04-24 11:50:18 -05:00
arm arm/boot: Allow boards to modify the FDT blob 2013-07-19 12:58:47 +01:00
audio isa: QOM'ify ISADevice 2013-06-07 14:55:33 +02:00
block fdc: QOM'ify ISA floppy controller 2013-04-29 08:27:47 -05:00
char Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu 2013-06-15 10:53:44 +00:00
cpu target-i386: Move APIC to ICC bus 2013-05-01 13:06:07 +02:00
cris
i2c
i386 pci,net,pc enhancements 2013-07-18 08:12:47 -05:00
input input: introduce keyboard handler list 2013-04-24 11:50:18 -05:00
isa isa_mmio: delete 2013-07-25 08:12:27 -05:00
kvm
lm32
m68k
mips hw/mips: align initrd to 64KB to avoid kernel error 2013-07-29 00:27:35 +02:00
misc
nvram fw_cfg: add API to find FW cfg object 2013-06-02 18:14:14 +03:00
pci Xen PV Device 2013-07-29 11:13:44 +00:00
pci-host q35: Use type-safe cast instead of direct access of parent dev 2013-07-23 00:37:34 +02:00
ppc pseries: savevm support for pseries machine 2013-07-29 10:37:08 -05:00
s390x
scsi scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline() 2013-07-23 00:37:35 +02:00
sh4 sh7750: Change cpu field type to SuperHCPU 2013-04-13 13:51:45 +02:00
sparc firmware_abi: move to include/hw/nvram/ 2013-06-02 18:13:54 +03:00
timer i8254: Convert PITCommonState to QOM realizefn 2013-06-07 14:55:24 +02:00
unicore32
virtio arm-devs queue 2013-07-22 10:14:24 -05:00
xen xen: remove xen_vcpu_init 2013-06-03 15:41:27 +00:00
boards.h Add hot_add_cpu hook to QEMUMachine 2013-05-01 13:06:07 +02:00
bt.h
devices.h arm: fix location of some include files 2013-04-15 15:16:01 +02:00
elf_ops.h
empty_slot.h
hw.h linux-user: Fix compilation failure 2013-06-27 15:38:35 -05:00
ide.h
irq.h
loader.h hw/loader: Support ramdisk with u-boot header 2013-07-22 12:00:56 +01:00
pcmcia.h
ptimer.h
qdev-core.h qdev: Drop FROM_QBUS() macro 2013-06-07 14:55:33 +02:00
qdev-dma.h
qdev-properties.h qdev: Introduce qdev_prop_set_globals_for_type() 2013-05-06 19:50:52 +02:00
qdev.h
sd.h
ssi.h
stream.h Trivial grammar and spelling fixes 2013-05-01 20:55:21 +04:00
sysbus.h sysbus: Document SysBusDeviceClass::init and realize semantics 2013-07-23 00:37:34 +02:00
usb.h usb: add serial bus property 2013-06-24 08:41:07 +02:00
xilinx.h stream: Remove app argument hack 2013-04-16 10:04:23 +02:00