Commit 37fb569c authored by Dr. David Alan Gilbert's avatar Dr. David Alan Gilbert Committed by Juan Quintela
Browse files

Disable section footers on older machine types



The next patch adds section footers; but we don't want to
break migration compatibility so disable them on older
machine types

Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
parent ce39bfc9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@
#ifdef CONFIG_XEN
#  include <xen/hvm/hvm_info_table.h>
#endif
#include "migration/migration.h"

#define MAX_IDE_BUS 2

@@ -305,6 +306,7 @@ static void pc_init1(MachineState *machine)

static void pc_compat_2_3(MachineState *machine)
{
    savevm_skip_section_footers();
}

static void pc_compat_2_2(MachineState *machine)
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
#include "hw/usb.h"
#include "hw/cpu/icc_bus.h"
#include "qemu/error-report.h"
#include "migration/migration.h"

/* ICH9 AHCI has 6 ports */
#define MAX_SATA_PORTS     6
@@ -289,6 +290,7 @@ static void pc_q35_init(MachineState *machine)

static void pc_compat_2_3(MachineState *machine)
{
    savevm_skip_section_footers();
}

static void pc_compat_2_2(MachineState *machine)
+1 −1
Original line number Diff line number Diff line
@@ -194,6 +194,6 @@ size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset,
                             ram_addr_t offset, size_t size,
                             uint64_t *bytes_sent);


void ram_mig_init(void);
void savevm_skip_section_footers(void);
#endif
+7 −0
Original line number Diff line number Diff line
@@ -55,6 +55,8 @@
#define ARP_PTYPE_IP 0x0800
#define ARP_OP_REQUEST_REV 0x3

static bool skip_section_footers;

static int announce_self_create(uint8_t *buf,
                                uint8_t *mac_addr)
{
@@ -611,6 +613,11 @@ static void vmstate_save(QEMUFile *f, SaveStateEntry *se, QJSON *vmdesc)
    vmstate_save_state(f, se->vmsd, se->opaque, vmdesc);
}

void savevm_skip_section_footers(void)
{
    skip_section_footers = true;
}

/*
 * Write the header for device section (QEMU_VM_SECTION START/END/PART/FULL)
 */