xqemu/target-ppc
David Gibson 16a2497bd4 target-ppc: Fix CPU migration from qemu-2.6 <-> later versions
When migration for target-ppc was converted to vmstate, several
VMSTATE_EQUAL() checks were foolishly included of things that really
should be internal state.  Specifically we verified equality of the
insns_flags and insns_flags2 fields, which are used within TCG to
determine which groups of instructions are available on this cpu
model.  Between qemu-2.6 and qemu-2.7 we made some changes to these
classes which broke migration.

This path fixes migration both forwards and backwards.  On migration
from 2.6 to later versions we import the fields into teporary
variables, which we then ignore.  In migration backwards, we populate
the temporary fields from the runtime fields, but mask out the bits
which were added after qemu-2.6, allowing the VMSTATE_EQUAL in
qemu-2.6 to accept the stream.

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>
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: Fix CPU migration from qemu-2.6 <-> later versions 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: Fix CPU migration from qemu-2.6 <-> later versions 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 find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
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 exec: call cpu_exec_exit() from a CPU unrealize common function 2016-10-24 17:29:16 -02:00
user_only_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00