qemu/hw/ppc
David Gibson 146c11f16f target-ppc: Allow eventual removal of old migration mistakes
Until very recently, the vmstate for ppc cpus included some poorly
thought out VMSTATE_EQUAL() components, that can easily break
migration compatibility, and did so between qemu-2.6 and later
versions.  A hack was recently added which fixes this migration
breakage, but it leaves the unhelpful cruft of these fields in the
migration stream.

This patch adds a new cpu property allowing these fields to be removed
from the stream entirely.  For the pseries-2.8 machine type - which
comes after the fix - and for all non-pseries machine types - which
aren't mature enough to care about cross-version migration - we remove
the fields from the stream.

For pseries-2.7 and earlier, The migration hack remains in place,
allowing backwards and forwards migration with the older machine
types.

This restricts the migration compatibility cruft to older machine
types, and at least opens the possibility of eventually deprecating
and removing it entirely.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2016-11-23 12:00:48 +11:00
..
e500-ccsr.h
e500.c sysbus: Remove ignored return value of FindSysbusDeviceFunc 2016-09-27 17:03:34 -03:00
e500.h target-ppc: Eliminate redundant and incorrect function booke206_page_size_to_tlb 2016-07-01 09:57:01 +10:00
e500plat.c dma: do not depend on kvm_enabled() 2016-05-19 16:42:28 +02:00
fdt.c hw/ppc: add a ppc_create_page_sizes_prop() helper routine 2016-09-07 12:40:12 +10:00
mac_newworld.c fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
mac_oldworld.c fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
mac.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
Makefile.objs spapr_ovec: initial implementation of option vector helpers 2016-10-28 09:38:26 +11:00
mpc8544_guts.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
mpc8544ds.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
pnv_core.c ppc/pnv: fix compile breakage on old gcc 2016-11-15 10:05:51 +11:00
pnv_lpc.c ppc/pnv: fix compile breakage on old gcc 2016-11-15 10:05:51 +11:00
pnv_xscom.c ppc/pnv: fix xscom address translation for POWER9 2016-11-15 10:08:43 +11:00
pnv.c ppc/pnv: Fix fatal bug on 32-bit hosts 2016-11-15 10:08:43 +11:00
ppc4xx_devs.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
ppc4xx_pci.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc405_boards.c clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
ppc405_uc.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
ppc405.h Remove unused function declarations 2016-09-15 15:32:22 +03:00
ppc440_bamboo.c loader: Add data swap option to load-elf 2016-03-04 11:30:21 +00:00
ppc_booke.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
ppc.c ppc: parse cpu features once 2016-08-13 17:32:58 +10:00
ppce500_spin.c *_run_on_cpu: introduce run_on_cpu_data type 2016-10-31 15:00:25 +01:00
prep.c vl: Eliminate usb_enabled() 2016-06-13 13:24:41 +02:00
spapr_cpu_core.c pseries: Split device tree construction from device tree load 2016-10-28 09:38:25 +11:00
spapr_drc.c spapr: Memory hot-unplug support 2016-10-28 11:17:35 +11:00
spapr_events.c spapr: Add DRC count indexed hotplug identifier type 2016-10-28 11:17:35 +11:00
spapr_hcall.c Base patches for MTTCG enablement. 2016-10-31 15:29:12 +00:00
spapr_iommu.c memory: introduce IOMMUOps.notify_flag_changed 2016-09-27 09:00:04 +02:00
spapr_ovec.c spapr: migration support for CAS-negotiated option vectors 2016-11-23 12:00:48 +11:00
spapr_pci_vfio.c Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
spapr_pci.c spapr: Fix migration of PCI host bridges from qemu-2.7 2016-11-15 10:08:42 +11:00
spapr_rng.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
spapr_rtas_ddw.c spapr_pci/spapr_pci_vfio: Support Dynamic DMA Windows (DDW) 2016-07-05 14:31:08 +10:00
spapr_rtas.c pseries: Consolidate construction of /rtas device tree node 2016-10-28 09:38:26 +11:00
spapr_rtc.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
spapr_vio.c pseries: Consolidate construction of /vdevice device tree node 2016-10-28 09:38:26 +11:00
spapr.c target-ppc: Allow eventual removal of old migration mistakes 2016-11-23 12:00:48 +11:00
trace-events spapr_vio: convert to trace framework instead of DPRINTF 2016-09-23 10:29:40 +10:00
virtex_ml507.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00