From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH] pci-assign: Use declarative interface to prevent migration Date: Wed, 31 Aug 2011 13:57:56 +0200 Message-ID: <4E5E21C4.9000408@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: kvm , Alex Williamson To: Avi Kivity , Marcelo Tosatti Return-path: Received: from thoth.sbs.de ([192.35.17.2]:18728 "EHLO thoth.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755001Ab1HaL6F (ORCPT ); Wed, 31 Aug 2011 07:58:05 -0400 Sender: kvm-owner@vger.kernel.org List-ID: Signed-off-by: Jan Kiszka --- hw/device-assignment.c | 11 ++--------- 1 files changed, 2 insertions(+), 9 deletions(-) diff --git a/hw/device-assignment.c b/hw/device-assignment.c index bfa0edf..288f80c 100644 --- a/hw/device-assignment.c +++ b/hw/device-assignment.c @@ -1523,9 +1523,7 @@ static void assigned_dev_unregister_msix_mmio(AssignedDevice *dev) static const VMStateDescription vmstate_assigned_device = { .name = "pci-assign", - .fields = (VMStateField []) { - VMSTATE_END_OF_LIST() - } + .unmigratable = 1, }; static void reset_assigned_device(DeviceState *dev) @@ -1643,11 +1641,6 @@ static int assigned_initfn(struct PCIDevice *pci_dev) add_boot_device_path(dev->bootindex, &pci_dev->qdev, NULL); - /* Register a vmsd so that we can mark it unmigratable. */ - vmstate_register(&dev->dev.qdev, 0, &vmstate_assigned_device, dev); - register_device_unmigratable(&dev->dev.qdev, - vmstate_assigned_device.name, dev); - return 0; assigned_out: @@ -1661,7 +1654,6 @@ static int assigned_exitfn(struct PCIDevice *pci_dev) { AssignedDevice *dev = DO_UPCAST(AssignedDevice, dev, pci_dev); - vmstate_unregister(&dev->dev.qdev, &vmstate_assigned_device, dev); QLIST_REMOVE(dev, next); deassign_device(dev); free_assigned_device(dev); @@ -1698,6 +1690,7 @@ static PCIDeviceInfo assign_info = { .qdev.name = "pci-assign", .qdev.desc = "pass through host pci devices to the guest", .qdev.size = sizeof(AssignedDevice), + .qdev.vmsd = &vmstate_assigned_device, .qdev.reset = reset_assigned_device, .init = assigned_initfn, .exit = assigned_exitfn,