From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45260) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3bIz-0002bd-9T for qemu-devel@nongnu.org; Sun, 28 Jul 2013 20:27:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V3bIr-0003D5-A2 for qemu-devel@nongnu.org; Sun, 28 Jul 2013 20:27:17 -0400 Received: from cantor2.suse.de ([195.135.220.15]:44748 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3bIr-0003CU-0z for qemu-devel@nongnu.org; Sun, 28 Jul 2013 20:27:09 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 29 Jul 2013 02:26:55 +0200 Message-Id: <1375057621-19961-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH qom-next for-next v2 0/6] PCI VMState cleanups List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi , Juan Quintela , Gerd Hoffmann , =?UTF-8?q?Andreas=20F=C3=A4rber?= , "Michael S. Tsirkin" Hello Michael and Gerd, As discussed, this series attempts to clean up PCIe devices fiddling with individual PCI VMStateFields. It is based on my qom-devices queue, contai= ning changes to PCIe devices. v2 has been changed to use VMStateField::field_exists instead of subsecti= ons and unifies PCI and PCIe. Making MSI-X such a conditional field affects P= CI, too, now and therefore requires incompatible changes to VMXNET3 PCI NIC. This has been successfully tested with a selection of PCI and PCIe device= s on -machine pc (-machine q35 is unfortunately unmigratable due to ich9-ah= ci) and shows identically sized state files (for "exec:cat > pc-pci.state") a= nd no immediate crashes. Not 1.6 material. A QOM follow-up RFC will be sent out shortly. Regards, Andreas v1 -> v2: * Prepended patches to drop VMSTATE_{PCI,PCIE}_DEVICE() arguments. * Added patch to introduce VMSTATE_BUFFER_UNSAFE_INFO_TEST() macro. * Unified PCI and PCIe VMStateDescriptions (mst). * Instead of moving & turning into subsection, make AER log conditional f= ield. * Instead of subsection, make MSI-X a conditional field. Cc: Michael S. Tsirkin Cc: Gerd Hoffmann Cc: Stefan Hajnoczi Cc: Juan Quintela Andreas F=C3=A4rber (6): pci: Simplify VMSTATE_PCI_DEVICE() macro pci: Simplify VMSTATE_PCIE_DEVICE() macro vmstate: Introduce VMSTATE_BUFFER_UNSAFE_INFO_TEST() pci: Unify vmstate_{pci,pcie}_device pci: Move vmstate_pcie_aer_log into vmstate_pci_device pci: Move VMSTATE_MSIX() into vmstate_pci_device hw/acpi/piix4.c | 2 +- hw/audio/ac97.c | 2 +- hw/audio/es1370.c | 2 +- hw/audio/intel-hda.c | 2 +- hw/char/serial-pci.c | 4 +-- hw/char/tpci200.c | 2 +- hw/display/cirrus_vga.c | 2 +- hw/display/qxl.c | 2 +- hw/display/vga-pci.c | 2 +- hw/display/vmware_vga.c | 2 +- hw/i2c/smbus_ich9.c | 2 +- hw/ide/ich.c | 2 +- hw/ide/pci.c | 2 +- hw/isa/i82378.c | 2 +- hw/isa/lpc_ich9.c | 2 +- hw/isa/piix4.c | 2 +- hw/isa/vt82c686.c | 4 +-- hw/misc/ivshmem.c | 7 ++-- hw/net/e1000.c | 2 +- hw/net/eepro100.c | 2 +- hw/net/ne2000.c | 2 +- hw/net/pcnet-pci.c | 2 +- hw/net/rtl8139.c | 2 +- hw/net/vmxnet3.c | 29 +++------------ hw/pci-bridge/ioh3420.c | 4 +-- hw/pci-bridge/pci_bridge_dev.c | 2 +- hw/pci-bridge/xio3130_downstream.c | 4 +-- hw/pci-bridge/xio3130_upstream.c | 4 +-- hw/pci-host/bonito.c | 2 +- hw/pci-host/piix.c | 4 +-- hw/pci-host/prep.c | 2 +- hw/pci-host/q35.c | 2 +- hw/pci/pci.c | 73 +++++++++++++++++++++++---------= ------ hw/pci/pcie_aer.c | 1 + hw/scsi/esp-pci.c | 2 +- hw/scsi/lsi53c895a.c | 2 +- hw/scsi/megasas.c | 2 +- hw/scsi/vmw_pvscsi.c | 2 +- hw/usb/hcd-ehci-pci.c | 2 +- hw/usb/hcd-uhci.c | 2 +- hw/usb/hcd-xhci.c | 3 +- hw/virtio/virtio-pci.c | 19 +++++----- hw/watchdog/wdt_i6300esb.c | 2 +- hw/xen/xen_platform.c | 2 +- include/hw/pci/msix.h | 7 ++-- include/hw/pci/pci.h | 6 ++-- include/hw/pci/pcie.h | 10 ------ include/migration/vmstate.h | 6 +++- 48 files changed, 116 insertions(+), 133 deletions(-) --=20 1.8.1.4