From patchwork Wed Mar 23 00:16:10 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anthony Liguori X-Patchwork-Id: 87983 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by ozlabs.org (Postfix) with ESMTP id 55D9BB6F7A for ; Wed, 23 Mar 2011 11:40:01 +1100 (EST) Received: from localhost ([127.0.0.1]:43911 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q2C0F-0000FV-8E for incoming@patchwork.ozlabs.org; Tue, 22 Mar 2011 20:32:47 -0400 Received: from [140.186.70.92] (port=44098 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q2Bkf-0004Gu-Va for qemu-devel@nongnu.org; Tue, 22 Mar 2011 20:16:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q2BkT-0003d8-PA for qemu-devel@nongnu.org; Tue, 22 Mar 2011 20:16:41 -0400 Received: from e3.ny.us.ibm.com ([32.97.182.143]:46302) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q2BkT-0003d2-LJ for qemu-devel@nongnu.org; Tue, 22 Mar 2011 20:16:29 -0400 Received: from d01dlp02.pok.ibm.com (d01dlp02.pok.ibm.com [9.56.224.85]) by e3.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p2MNtvWF000836 for ; Tue, 22 Mar 2011 19:55:57 -0400 Received: from d01relay07.pok.ibm.com (d01relay07.pok.ibm.com [9.56.227.147]) by d01dlp02.pok.ibm.com (Postfix) with ESMTP id E0FEE6E8039 for ; Tue, 22 Mar 2011 20:16:28 -0400 (EDT) Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay07.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p2N0GSBV2457730 for ; Tue, 22 Mar 2011 20:16:28 -0400 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p2N0GSbU008474 for ; Tue, 22 Mar 2011 20:16:28 -0400 Received: from localhost.localdomain (sig-9-65-76-198.mts.ibm.com [9.65.76.198]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id p2N0GNiO007989; Tue, 22 Mar 2011 20:16:27 -0400 From: Anthony Liguori To: qemu-devel@nongnu.org Date: Tue, 22 Mar 2011 19:16:10 -0500 Message-Id: <1300839376-22520-6-git-send-email-aliguori@us.ibm.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1300839376-22520-1-git-send-email-aliguori@us.ibm.com> References: <1300839376-22520-1-git-send-email-aliguori@us.ibm.com> X-Content-Scanned: Fidelis XPS MAILER X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Received-From: 32.97.182.143 Cc: Jan Kiszka , Anthony Liguori , Juan Quintela Subject: [Qemu-devel] [PATCH 05/11] vga-isa: fix migration by breaking it X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org This is pretty sad. We use the same section name for vga-isa as we do for vga-pci even though we use separate formats. This breaks the live migration protocol because we may misinterpret the vga-isa as a vga-pci device. vga-isa should use it's own wrapper just like vga-pci does. That's what we do in this patch. Signed-by-off: Anthony Liguori --- hw/vga-isa.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hw/vga-isa.c b/hw/vga-isa.c index 5f1ef76..eaae2e0 100644 --- a/hw/vga-isa.c +++ b/hw/vga-isa.c @@ -72,10 +72,19 @@ static int vga_initfn(ISADevice *dev) return 0; } +static const VMStateDescription vmstate_vga_isa = { + .name = "isa-vga", + .version_id = 1, + .fields = (VMStateField []) { + VMSTATE_STRUCT(state, ISAVGAState, 0, vmstate_vga_common, VGACommonState), + VMSTATE_END_OF_LIST(), + }, +}; + static ISADeviceInfo vga_info = { .qdev.name = "isa-vga", .qdev.size = sizeof(ISAVGAState), - .qdev.vmsd = &vmstate_vga_common, + .qdev.vmsd = &vmstate_vga_isa, .qdev.reset = vga_reset_isa, .qdev.no_user = 1, .init = vga_initfn, @@ -84,7 +93,7 @@ static ISADeviceInfo vga_info = { /* Register the VMState Description to support VMState introspection */ static void init_vmstate_description_0(void) { - register_vmstate_description(&vmstate_vga_common); + register_vmstate_description(&vmstate_vga_isa); } vmstate_init(init_vmstate_description_0);