[Top][All Lists]
[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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [COMMIT 9fa0638] kvm: Mark full address range dirty on live migrationstart,
Anthony Liguori <=