apic: Fix legacy vmstate loading for KVM
PATCH 1/1 apic: Fix legacy vmstate loading for KVM
From: Jan Kiszka <[email protected]>
Also in case of loading pre-vmstate machines, we also need to open-code the reading of the timer expires value and instead call the post_load callback to apply it (or not). This fixes loading of legacy states into the KVM APIC.
Reported-by Paolo Bonzini <[email protected]>
Signed-off-by Jan Kiszka <[email protected]>
--- hw/apic_common.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
hw/apic_common.c +6 -1
@@ -188,6 +188,7 @@ static void apic_reset_common(DeviceState *d)static int apic_load_old (QEMUFile *f,void *opaque,int version_id) {APICCommonState *s = opaque; +APICCommonClass *info =APIC_COMMON_GET_CLASS (s);int i;if (version_id >2 ) {
@@ -220,7 +221,11 @@ static int apic_load_old(QEMUFile *f, void *opaque, int version_id) s->next_time =qemu_get_be64 (f);if (version_id >=2 ) { -qemu_get_timer (f, s->timer); + s->timer_expiry =qemu_get_be64 (f); + } + +if (info->post_load) { + info->post_load (s); }return 0 ; }
Signature · 1 line
1.7.3.4
Marcelo Tosatti
AppliedQuoted 9 lines · Jan Kiszka
From: Jan Kiszka <[email protected]>
Also in case of loading pre-vmstate machines, we also need to open-code the reading of the timer expires value and instead call the
post_loadcallback to apply it (or not). This fixes loading of legacy states into the KVM APIC.Reported-by Paolo Bonzini <[email protected]>Signed-off-by Jan Kiszka <[email protected]>
Applied, thanks.