diff options
author | Avi Kivity | 2011-12-21 12:37:56 +0100 |
---|---|---|
committer | Avi Kivity | 2012-01-04 12:34:48 +0100 |
commit | f09f2189d51b405bb1e390beeb0ccf155ab2e788 (patch) | |
tree | 9d4252a7a93fec4d930c49bf7d09f14b692f9730 | |
parent | Sort RAMBlocks by ID for migration, not by ram_addr (diff) | |
download | qemu-f09f2189d51b405bb1e390beeb0ccf155ab2e788.tar.gz qemu-f09f2189d51b405bb1e390beeb0ccf155ab2e788.tar.xz qemu-f09f2189d51b405bb1e390beeb0ccf155ab2e788.zip |
Remove support for version 3 ram_load
Version 3 ram_load depends on ram_addrs, which are not stable. Version 4
was introduced in 0.13 (and RHEL 6), so this means live migration from 0.12
and earlier to 1.1 or later will not work.
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch_init.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/arch_init.c b/arch_init.c index 5df84048a2..bb2f263d93 100644 --- a/arch_init.c +++ b/arch_init.c @@ -366,7 +366,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id) int flags; int error; - if (version_id < 3 || version_id > 4) { + if (version_id < 4 || version_id > 4) { return -EINVAL; } @@ -377,11 +377,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id) addr &= TARGET_PAGE_MASK; if (flags & RAM_SAVE_FLAG_MEM_SIZE) { - if (version_id == 3) { - if (addr != ram_bytes_total()) { - return -EINVAL; - } - } else { + if (version_id == 4) { /* Synchronize RAM block list */ char id[256]; ram_addr_t length; @@ -419,10 +415,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id) void *host; uint8_t ch; - if (version_id == 3) - host = qemu_get_ram_ptr(addr); - else - host = host_from_stream_offset(f, addr, flags); + host = host_from_stream_offset(f, addr, flags); if (!host) { return -EINVAL; } @@ -438,10 +431,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id) } else if (flags & RAM_SAVE_FLAG_PAGE) { void *host; - if (version_id == 3) - host = qemu_get_ram_ptr(addr); - else - host = host_from_stream_offset(f, addr, flags); + host = host_from_stream_offset(f, addr, flags); qemu_get_buffer(f, host, TARGET_PAGE_SIZE); } |