@@ -188,8 +188,6 @@ static const VMStateDescription vmstate_ioh3420 = {
.post_load = pcie_cap_slot_post_load,
.fields = (VMStateField[]) {
VMSTATE_PCIE_DEVICE(parent_obj.parent_obj.parent_obj, PCIESlot),
- VMSTATE_STRUCT(parent_obj.parent_obj.parent_obj.exp.aer_log,
- PCIESlot, 0, vmstate_pcie_aer_log, PCIEAERLog),
VMSTATE_END_OF_LIST()
}
};
@@ -155,8 +155,6 @@ static const VMStateDescription vmstate_xio3130_downstream = {
.post_load = pcie_cap_slot_post_load,
.fields = (VMStateField[]) {
VMSTATE_PCIE_DEVICE(parent_obj.parent_obj.parent_obj, PCIESlot),
- VMSTATE_STRUCT(parent_obj.parent_obj.parent_obj.exp.aer_log,
- PCIESlot, 0, vmstate_pcie_aer_log, PCIEAERLog),
VMSTATE_END_OF_LIST()
}
};
@@ -134,8 +134,6 @@ static const VMStateDescription vmstate_xio3130_upstream = {
.minimum_version_id_old = 1,
.fields = (VMStateField[]) {
VMSTATE_PCIE_DEVICE(parent_obj.parent_obj, PCIEPort),
- VMSTATE_STRUCT(parent_obj.parent_obj.exp.aer_log, PCIEPort, 0,
- vmstate_pcie_aer_log, PCIEAERLog),
VMSTATE_END_OF_LIST()
}
};
@@ -490,6 +490,8 @@ const VMStateDescription vmstate_pcie_device = {
VMSTATE_BUFFER_UNSAFE_INFO(irq_state, PCIDevice, 2,
vmstate_info_pci_irq_state,
PCI_NUM_PINS * sizeof(int32_t)),
+ VMSTATE_STRUCT(exp.aer_log, PCIDevice, 0,
+ vmstate_pcie_aer_log, PCIEAERLog),
VMSTATE_END_OF_LIST()
}
};
VMSTATE_PCIE_DEVICE() currently has the following users: * ioh3420 * xio3130-downstream * x3130-upstream * nec-usb-xhci All except for XHCI have VMSTATE_STRUCT(....exp.aer_log, ...) following VMSTATE_PCIE_DEVICE(), and XHCI was marked unmigratable in v1.5.0. Therefore move this recurring PCIe-only field into vmstate_pcie_device while we still can without breaking migration compatibility. Cc: Juan Quintela <quintela@redhat.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de> --- hw/pci-bridge/ioh3420.c | 2 -- hw/pci-bridge/xio3130_downstream.c | 2 -- hw/pci-bridge/xio3130_upstream.c | 2 -- hw/pci/pci.c | 2 ++ 4 files changed, 2 insertions(+), 6 deletions(-)