qemu/0103-i8254-Fix-migration-from-qemu-kvm-1.1.patch
Cole Robinson 96a5f8d770 Rebased to version 1.4.0
block: dataplane for virtio, potentially large performance improvment
migration: threaded live migration
usb-tablet: usb 2.0 support, significantly lowering CPU usage
usb: improved support for pass-through of USB serial devices
virtio-net: added support supports multiqueue operation
2013-02-19 20:14:18 -05:00

37 lines
1.4 KiB
Diff

From 8da856131e3e6b9965a61a987df7ab487e80d1a0 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Tue, 19 Feb 2013 15:04:59 -0500
Subject: [PATCH] i8254: Fix migration from qemu-kvm < 1.1
qemu-kvm commit 81bdec908fb2be0ccaff1d4ee67956c509e440ad did this,
but the logic can't be carried unconditionally in qemu.git without
breaking migration from qemu < 1.1.
Conditionalize it with --enable-migrate-from-qemu-kvm
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
hw/i8254_common.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/hw/i8254_common.c b/hw/i8254_common.c
index 8c2e45a..072fa09 100644
--- a/hw/i8254_common.c
+++ b/hw/i8254_common.c
@@ -275,7 +275,15 @@ static const VMStateDescription vmstate_pit_common = {
.pre_save = pit_dispatch_pre_save,
.post_load = pit_dispatch_post_load,
.fields = (VMStateField[]) {
+#ifdef CONFIG_MIGRATE_FROM_QEMU_KVM
+ /* qemu-kvm version_id=2 had 'flags' here which is equivalent
+ * This fixes incoming migration from qemu-kvm 1.0, but breaks
+ * incoming migration from qemu < 1.1
+ */
+ VMSTATE_UINT32(channels[0].irq_disabled, PITCommonState),
+#else
VMSTATE_UINT32_V(channels[0].irq_disabled, PITCommonState, 3),
+#endif
VMSTATE_STRUCT_ARRAY(channels, PITCommonState, 3, 2,
vmstate_pit_channel, PITChannelState),
VMSTATE_INT64(channels[0].next_transition_time,