rom/device regions have a ram_addr that is composed of both an I/O handler (low bits) and RAM region (high bits); but qemu_ram_set_idstr() excepts just a RAM region. Mask the I/O handler to make it happy.
Signed-off-by: Avi Kivity <a...@redhat.com> --- savevm.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/savevm.c b/savevm.c index 88c4bd8..80be1ff 100644 --- a/savevm.c +++ b/savevm.c @@ -2284,7 +2284,7 @@ void do_info_snapshots(Monitor *mon) void vmstate_register_ram(MemoryRegion *mr, DeviceState *dev) { - qemu_ram_set_idstr(memory_region_get_ram_addr(mr), + qemu_ram_set_idstr(memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK, memory_region_name(mr), dev); } -- 1.7.7.1