summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorSong Gao <gaosong@loongson.cn>2024-05-08 10:47:32 +0800
committerSong Gao <gaosong@loongson.cn>2024-05-23 09:30:41 +0800
commit0eb285c3627b5406dd91bfa3b47402e5de92123f (patch)
treea61d276e0d27eaf0ba11775f73749898ea58b6c8
parent6af8037c42fdc3d20d5aa2686799ab356a9ee1a9 (diff)
downloadfocaccia-qemu-0eb285c3627b5406dd91bfa3b47402e5de92123f.tar.gz
focaccia-qemu-0eb285c3627b5406dd91bfa3b47402e5de92123f.zip
target/loongarch/kvm: Fix VM recovery from disk failures
vmstate does not save kvm_state_conter,
which can cause VM recovery from disk to fail.

Cc: qemu-stable@nongnu.org
Signed-off-by: Song Gao <gaosong@loongson.cn>
Acked-by: Peter Xu <peterx@redhat.com>
Message-Id: <20240508024732.3127792-1-gaosong@loongson.cn>
-rw-r--r--target/loongarch/machine.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/target/loongarch/machine.c b/target/loongarch/machine.c
index 9cd9e848d6..08a7fa5370 100644
--- a/target/loongarch/machine.c
+++ b/target/loongarch/machine.c
@@ -145,8 +145,8 @@ static const VMStateDescription vmstate_tlb = {
 /* LoongArch CPU state */
 const VMStateDescription vmstate_loongarch_cpu = {
     .name = "cpu",
-    .version_id = 1,
-    .minimum_version_id = 1,
+    .version_id = 2,
+    .minimum_version_id = 2,
     .fields = (const VMStateField[]) {
         VMSTATE_UINTTL_ARRAY(env.gpr, LoongArchCPU, 32),
         VMSTATE_UINTTL(env.pc, LoongArchCPU),
@@ -208,6 +208,8 @@ const VMStateDescription vmstate_loongarch_cpu = {
         VMSTATE_UINT64(env.CSR_DERA, LoongArchCPU),
         VMSTATE_UINT64(env.CSR_DSAVE, LoongArchCPU),
 
+        VMSTATE_UINT64(kvm_state_counter, LoongArchCPU),
+
         VMSTATE_END_OF_LIST()
     },
     .subsections = (const VMStateDescription * const []) {