This patch adds:
1. Call write_kvmstate_to_list() and write_list_to_cpustate()
   in kvm_arch_get_registers() to sync guest register state.
2. Call write_list_to_kvmstate() in kvm_arch_put_registers()
   to sync guest register state.

These changes are already there for kvm32 in target-arm/kvm32.c.

Signed-off-by: Pranavkumar Sawargaonkar <pranavku...@linaro.org>
---
 target-arm/kvm64.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/target-arm/kvm64.c b/target-arm/kvm64.c
index ba16821..96148c6 100644
--- a/target-arm/kvm64.c
+++ b/target-arm/kvm64.c
@@ -193,6 +193,10 @@ int kvm_arch_put_registers(CPUState *cs, int level)
         }
     }
 
+    if (!write_list_to_kvmstate(cpu)) {
+        return EINVAL;
+    }
+
     /* TODO:
      * FP state
      * system registers
@@ -269,6 +273,14 @@ int kvm_arch_get_registers(CPUState *cs)
         }
     }
 
+    if (!write_kvmstate_to_list(cpu)) {
+        return EINVAL;
+    }
+    /* Note that it's OK to have registers which aren't in CPUState,
+     * so we can ignore a failure return here.
+     */
+    write_list_to_cpustate(cpu);
+
     /* TODO: other registers */
     return ret;
 }
-- 
1.9.1


Reply via email to