mirror_qemu/target-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
..
translate target-ppc: Implement bcdctz. instruction 2016-11-15 10:06:48 +11:00
Makefile.objs kvm_ppc: remove kvmppc_timer_hack 2015-09-20 22:48:38 +02:00
STATUS target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
arch_dump.c ppc64: fix compressed dump with pseries kernel 2016-08-10 13:05:05 +10:00
cpu-models.c ppc: Remove some stub POWER6 models 2016-11-15 10:05:51 +11:00
cpu-models.h ppc: Remove some stub POWER6 models 2016-11-15 10:05:51 +11:00
cpu-qom.h exec: call cpu_exec_exit() from a CPU unrealize common function 2016-10-24 17:29:16 -02:00
cpu.h target-ppc: Allow eventual removal of old migration mistakes 2016-11-23 12:00:48 +11:00
dfp_helper.c target-ppc: add dtstsfi[q] instructions 2016-09-07 12:40:11 +10:00
excp_helper.c FU exceptions should carry a cause (IC) 2016-11-15 10:08:43 +11:00
fpu_helper.c target-ppc: Add xvcmpnesp, xvcmpnedp instructions 2016-10-28 11:17:35 +11:00
gdbstub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
helper.h target-ppc: Implement bcdctz. instruction 2016-11-15 10:06:48 +11:00
helper_regs.h ppc: BOOK3E: nothing should be done when MSR:PR is set 2016-11-23 12:00:48 +11:00
int_helper.c target-ppc: fix index array of national digits 2016-11-23 12:00:48 +11:00
internal.h target-ppc: add vrldnmi and vrlwmi instructions 2016-11-15 10:05:50 +11:00
kvm-stub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
kvm.c target-ppc/kvm: Enable transactional memory on POWER8 with KVM-HV, too 2016-10-05 11:05:28 +11:00
kvm_ppc.h ppc: Check the availability of transactional memory 2016-10-05 11:05:28 +11:00
machine.c target-ppc: Allow eventual removal of old migration mistakes 2016-11-23 12:00:48 +11:00
mem_helper.c clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
mfrom_table.c
mfrom_table_gen.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
misc_helper.c ppc: Don't update NIP in facility unavailable interrupts 2016-09-07 12:40:10 +10:00
mmu-hash32.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
mmu-hash32.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
mmu-hash64.c target-ppc: tlbie/tlbivax should have global effect 2016-09-23 12:39:07 +10:00
mmu-hash64.h Remove unused function declarations 2016-09-15 15:32:22 +03:00
mmu_helper.c target-ppc: tlbie/tlbivax should have global effect 2016-09-23 12:39:07 +10:00
monitor.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
timebase_helper.c ppc: Don't update NIP in DCR access routines 2016-09-07 12:40:10 +10:00
trace-events trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
translate.c target-ppc: add vrldnmi and vrlwmi instructions 2016-11-15 10:05:50 +11:00
translate_init.c target-ppc: Allow eventual removal of old migration mistakes 2016-11-23 12:00:48 +11:00
user_only_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00