MemoryRegion::addr is private data of MemoryRegion, use memory_region_get_address() to access it.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- migration/ram.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index 5eef2efc781..3330c102977 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -3144,7 +3144,7 @@ static int ram_save_setup(QEMUFile *f, void *opaque, Error **errp) qemu_put_be64(f, block->page_size); } if (migrate_ignore_shared()) { - qemu_put_be64(f, block->mr->addr); + qemu_put_be64(f, memory_region_get_address(block->mr)); } if (migrate_mapped_ram()) { @@ -4190,11 +4190,12 @@ static int parse_ramblock(QEMUFile *f, RAMBlock *block, ram_addr_t length) } if (migrate_ignore_shared()) { hwaddr addr = qemu_get_be64(f); - if (migrate_ram_is_ignored(block) && - block->mr->addr != addr) { + hwaddr block_addr = memory_region_get_address(block->mr); + + if (migrate_ram_is_ignored(block) && block_addr != addr) { error_report("Mismatched GPAs for block %s " - "%" PRId64 "!= %" PRId64, block->idstr, - (uint64_t)addr, (uint64_t)block->mr->addr); + "0x" HWADDR_FMT_plx "!= 0x" HWADDR_FMT_plx, + block->idstr, addr, block_addr); return -EINVAL; } } -- 2.51.0
