Commit 5a78b821 authored by David Gibson's avatar David Gibson
Browse files

Revert "spapr: Fix migration of PCI host bridges from qemu-2.7"



This reverts commit 9b54ca0b.

The commit above corrected a migration breakage between qemu-2.7 and
qemu-2.8.  However it did so by advancing the migration version for
the PCI host bridge, which obviously breaks migration backwards to
earlier qemu versions.

Although it's not totally essential, we'd like to maintain the
possibility for backwards migration, so revert the change in
preparation for a better fix.

Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
Reviewed-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
parent 146c11f1
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -1658,25 +1658,19 @@ static int spapr_pci_post_load(void *opaque, int version_id)
    return 0;
}

static bool version_before_3(void *opaque, int version_id)
{
    return version_id < 3;
}

static const VMStateDescription vmstate_spapr_pci = {
    .name = "spapr_pci",
    .version_id = 3,
    .version_id = 2,
    .minimum_version_id = 2,
    .pre_save = spapr_pci_pre_save,
    .post_load = spapr_pci_post_load,
    .fields = (VMStateField[]) {
        VMSTATE_UINT64_EQUAL(buid, sPAPRPHBState),
        VMSTATE_UNUSED_TEST(version_before_3,
                            sizeof(uint32_t) /* dma_liobn[0] */
                            + sizeof(uint64_t) /* mem_win_addr */
                            + sizeof(uint64_t) /* mem_win_size */
                            + sizeof(uint64_t) /* io_win_addr */
                            + sizeof(uint64_t) /* io_win_size */),
        VMSTATE_UINT32_EQUAL(dma_liobn[0], sPAPRPHBState),
        VMSTATE_UINT64_EQUAL(mem_win_addr, sPAPRPHBState),
        VMSTATE_UINT64_EQUAL(mem_win_size, sPAPRPHBState),
        VMSTATE_UINT64_EQUAL(io_win_addr, sPAPRPHBState),
        VMSTATE_UINT64_EQUAL(io_win_size, sPAPRPHBState),
        VMSTATE_STRUCT_ARRAY(lsi_table, sPAPRPHBState, PCI_NUM_PINS, 0,
                             vmstate_spapr_pci_lsi, struct spapr_pci_lsi),
        VMSTATE_INT32(msi_devs_num, sPAPRPHBState),