qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qom-next for-next v2 0/6] PCI VMState cleanups
@ 2013-07-29  0:26 Andreas Färber
  2013-07-29  0:26 ` [Qemu-devel] [PATCH qom-next for-next v2 1/6] pci: Simplify VMSTATE_PCI_DEVICE() macro Andreas Färber
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Andreas Färber @ 2013-07-29  0:26 UTC (permalink / raw)
  To: qemu-devel
  Cc: Stefan Hajnoczi, Juan Quintela, Gerd Hoffmann,
	Andreas Färber, 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, containing
changes to PCIe devices.

v2 has been changed to use VMStateField::field_exists instead of subsections
and unifies PCI and PCIe. Making MSI-X such a conditional field affects PCI, too,
now and therefore requires incompatible changes to VMXNET3 PCI NIC.

This has been successfully tested with a selection of PCI and PCIe devices
on -machine pc (-machine q35 is unfortunately unmigratable due to ich9-ahci)
and shows identically sized state files (for "exec:cat > pc-pci.state") and
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 field.
* Instead of subsection, make MSI-X a conditional field.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Juan Quintela <quintela@redhat.com>

Andreas Färber (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(-)

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-09-02 11:43 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-29  0:26 [Qemu-devel] [PATCH qom-next for-next v2 0/6] PCI VMState cleanups Andreas Färber
2013-07-29  0:26 ` [Qemu-devel] [PATCH qom-next for-next v2 1/6] pci: Simplify VMSTATE_PCI_DEVICE() macro Andreas Färber
2013-09-02 11:38   ` Michael S. Tsirkin
2013-07-29  0:26 ` [Qemu-devel] [PATCH qom-next for-next v2 2/6] pci: Simplify VMSTATE_PCIE_DEVICE() macro Andreas Färber
2013-09-02 11:36   ` Michael S. Tsirkin
2013-09-02 11:38     ` Andreas Färber
2013-09-02 11:45       ` Michael S. Tsirkin
2013-07-29  0:26 ` [Qemu-devel] [PATCH qom-next for-next v2 3/6] vmstate: Introduce VMSTATE_BUFFER_UNSAFE_INFO_TEST() Andreas Färber
2013-07-29  0:26 ` [Qemu-devel] [PATCH qom-next for-next v2 4/6] pci: Unify vmstate_{pci, pcie}_device Andreas Färber
2013-07-29  0:27 ` [Qemu-devel] [PATCH qom-next for-next v2 5/6] pci: Move vmstate_pcie_aer_log into vmstate_pci_device Andreas Färber
2013-07-29  0:27 ` [Qemu-devel] [PATCH RFC qom-next for-next v2 6/6] pci: Move VMSTATE_MSIX() " Andreas Färber
2013-09-02 11:31   ` Michael S. Tsirkin
2013-09-02 11:25 ` [Qemu-devel] [PATCH qom-next for-next v2 0/6] PCI VMState cleanups Andreas Färber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).