PCI/migration merge vmstate_pci_device and vmstate_pcie_device
commit20daa90a20d2654d82c1d51d542ab56dd27bacbf
authorDr. David Alan Gilbert <dgilbert@redhat.com>
Wed, 14 Dec 2016 19:58:29 +0000 (14 19:58 +0000)
committerDr. David Alan Gilbert <dgilbert@redhat.com>
Tue, 24 Jan 2017 18:00:31 +0000 (24 18:00 +0000)
tree33b6890f76cfa91e7579e4c8e345586374a0b1de
parent009fad7f4ccbbf3ea115e9196edde88c0a17c1c2
PCI/migration merge vmstate_pci_device and vmstate_pcie_device

The vmstate_pci_device and vmstate_pcie_devices differ
just in the size of one buffer; combine the two using a _TEST
macro.

I think this is safe as long as everywhere which currently
uses either of these two uses the right type.

One thing that concerns me is that some places use pci_device_load/save
which does some irq mangling, but others just use the VMSTATE_PCI_DEVICE
macro - how are they getting the same irq mangling?

This passes a smoke test migrate of:
./x86_64-softmmu/qemu-system-x86_64 -M pc,accel=kvm -m 1024
./littlefed20.img -device e1000e -device virtio-net -device
e1000 -device virtio-rng -device megasas -device megasas-gen2 -device
ioh3420 -device nec-usb-xhci

to an unmodified qemu.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20161214195829.18241-1-dgilbert@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
hw/net/e1000e.c
hw/net/vmxnet3.c
hw/pci-bridge/ioh3420.c
hw/pci-bridge/xio3130_downstream.c
hw/pci-bridge/xio3130_upstream.c
hw/pci/pci.c
hw/scsi/megasas.c
hw/scsi/vmw_pvscsi.c
hw/usb/hcd-xhci.c
include/hw/pci/pcie.h