qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [COMMIT 9fa0638] kvm: Mark full address range dirty on li


From: Anthony Liguori
Subject: [Qemu-commits] [COMMIT 9fa0638] kvm: Mark full address range dirty on live migrationstart
Date: Mon, 08 Jun 2009 13:03:12 -0000

From: Jan Kiszka <address@hidden>

As Avi correctly noted, last_ram_offset does not mark the last physical
RAM address the guest may see (due to non-continuous memory regions).
Ensure that we catch them all by marking the full possible address range
dirty.

Signed-off-by: Jan Kiszka <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>

diff --git a/targphys.h b/targphys.h
index 81a9c37..99ab23c 100644
--- a/targphys.h
+++ b/targphys.h
@@ -12,9 +12,11 @@
 
 #if TARGET_PHYS_ADDR_BITS == 32
 typedef uint32_t target_phys_addr_t;
+#define TARGET_PHYS_ADDR_MAX UINT32_MAX
 #define TARGET_FMT_plx "%08x"
 #elif TARGET_PHYS_ADDR_BITS == 64
 typedef uint64_t target_phys_addr_t;
+#define TARGET_PHYS_ADDR_MAX UINT64_MAX
 #define TARGET_FMT_plx "%016" PRIx64
 #endif
 #endif
diff --git a/vl.c b/vl.c
index 8ab1665..f8c0d00 100644
--- a/vl.c
+++ b/vl.c
@@ -3231,7 +3231,7 @@ static int ram_save_live(QEMUFile *f, int stage, void 
*opaque)
 {
     ram_addr_t addr;
 
-    if (cpu_physical_sync_dirty_bitmap(0, last_ram_offset) != 0) {
+    if (cpu_physical_sync_dirty_bitmap(0, TARGET_PHYS_ADDR_MAX) != 0) {
         qemu_file_set_error(f);
         return 0;
     }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]