aboutsummaryrefslogtreecommitdiff
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)
downloadqemu-0eb285c3627b5406dd91bfa3b47402e5de92123f.zip
qemu-0eb285c3627b5406dd91bfa3b47402e5de92123f.tar.gz
qemu-0eb285c3627b5406dd91bfa3b47402e5de92123f.tar.bz2
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 9cd9e84..08a7fa5 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 []) {