qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] [RFC 16/17] ppc: Remove counter-productive "sanity checks" in


From: David Gibson
Subject: [Qemu-ppc] [RFC 16/17] ppc: Remove counter-productive "sanity checks" in migration
Date: Sun, 30 Oct 2016 22:12:07 +1100

When vmstate for the ppc cpu was introduced in a90db158 "target-ppc:
Convert ppc cpu savevm to VMStateDescription", several "sanity check"
fields were included, verifying that certain cpu parameters matched between
source and destination.

This turns out not to have been a good idea.  For one thing it's redundant
with existing checks for a compatible cpu version at either end.  But more
importantly the insns_flags and insns_flags2 checks actively break things:
they expose what's essentially an internal TCG implementation detail in the
migration stream.  That means that when new instruction classes are added
or rearranged, migration can break.

This removes these ill-considered sanity checks.

Signed-off-by: David Gibson <address@hidden>
---
 target-ppc/machine.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/target-ppc/machine.c b/target-ppc/machine.c
index 62b9e94..453ef0a 100644
--- a/target-ppc/machine.c
+++ b/target-ppc/machine.c
@@ -602,10 +602,10 @@ const VMStateDescription vmstate_ppc_cpu = {
         /* FIXME: access_type? */
 
         /* Sanity checking */
-        VMSTATE_UINTTL_EQUAL(env.msr_mask, PowerPCCPU),
-        VMSTATE_UINT64_EQUAL(env.insns_flags, PowerPCCPU),
-        VMSTATE_UINT64_EQUAL(env.insns_flags2, PowerPCCPU),
-        VMSTATE_UINT32_EQUAL(env.nb_BATs, PowerPCCPU),
+        VMSTATE_UNUSED(sizeof(target_ulong) /* msr_mask */
+                       + sizeof(uint64_t) /* insns_flags */
+                       + sizeof(uint64_t) /* insns_flags2 */
+                       + sizeof(uint32_t)), /* nb_BATs */
         VMSTATE_END_OF_LIST()
     },
     .subsections = (const VMStateDescription*[]) {
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]