summaryrefslogtreecommitdiff
path: root/savevm.c
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2012-01-08 13:18:19 +0200
committerAvi Kivity <avi@redhat.com>2012-01-08 18:16:31 +0200
commit1ddde08780f6862a98505f9fb9ea10305638783f (patch)
treebd8f145e7f2a0ba3646d6c2733f6f39dd5b60157 /savevm.c
parent1470a0cdca63d2592b3eab8fd22c9b18d38ce800 (diff)
downloadqemu-1ddde08780f6862a98505f9fb9ea10305638783f.tar.gz
Fix vmstate_register_ram() for rom/device regions
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() expects just a RAM region. Mask the I/O handler to make it happy. Tested-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'savevm.c')
-rw-r--r--savevm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/savevm.c b/savevm.c
index 88c4bd8ea2..80be1ff063 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);
}