summaryrefslogtreecommitdiffstats
path: root/hw/i386
diff options
context:
space:
mode:
authorJan Kiszka2013-09-03 18:08:52 +0200
committerPaolo Bonzini2013-09-20 12:37:52 +0200
commit4357930b8a7d2fcff2d8121ec518117428a781e7 (patch)
treeb197a78c0f88c1ac8c3dce9946884a115844e53c /hw/i386
parentkvmvapic: Enter inactive state on hardware reset (diff)
downloadqemu-4357930b8a7d2fcff2d8121ec518117428a781e7.tar.gz
qemu-4357930b8a7d2fcff2d8121ec518117428a781e7.tar.xz
qemu-4357930b8a7d2fcff2d8121ec518117428a781e7.zip
kvmvapic: Clear also physical ROM address when entering INACTIVE state
To avoid misinterpreting INACTIVE after migration as old qemu-kvm's STANDBY, also clear rom_state_paddr when going back to this state. CC: qemu-stable@nongnu.org Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/i386')
-rw-r--r--hw/i386/kvmvapic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
index e4cea34865..1c2dbf59cf 100644
--- a/hw/i386/kvmvapic.c
+++ b/hw/i386/kvmvapic.c
@@ -511,6 +511,7 @@ static void vapic_reset(DeviceState *dev)
VAPICROMState *s = VAPIC(dev);
s->state = VAPIC_INACTIVE;
+ s->rom_state_paddr = 0;
vapic_enable_tpr_reporting(false);
}
@@ -664,6 +665,7 @@ static void vapic_write(void *opaque, hwaddr addr, uint64_t data,
}
if (vapic_prepare(s) < 0) {
s->state = VAPIC_INACTIVE;
+ s->rom_state_paddr = 0;
break;
}
break;