]> git.proxmox.com Git - mirror_qemu.git/commitdiff
exec, memory: Call to xen_modified_memory.
authorAnthony PERARD <anthony.perard@citrix.com>
Wed, 3 Oct 2012 13:49:22 +0000 (13:49 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Wed, 3 Oct 2012 13:49:22 +0000 (13:49 +0000)
This patch add some calls to xen_modified_memory to notify Xen about dirtybits
during migration.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Avi Kivity <avi@redhat.com>
exec-obsolete.h
exec.c

index c09925610d0ddc6c6bfdc2482e92310e137dbd40..286e2f75e1a55bf78d09d879e679df53274715b2 100644 (file)
@@ -24,6 +24,7 @@
 #endif
 
 #ifndef CONFIG_USER_ONLY
+#include "hw/xen.h"
 
 ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void *host,
                                    MemoryRegion *mr);
@@ -111,6 +112,7 @@ static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
     for (addr = start; addr < end; addr += TARGET_PAGE_SIZE) {
         cpu_physical_memory_set_dirty_flags(addr, dirty_flags);
     }
+    xen_modified_memory(addr, length);
 }
 
 static inline void cpu_physical_memory_mask_dirty_range(ram_addr_t start,
diff --git a/exec.c b/exec.c
index 366684cd78c3d80c421f17c5afb58a77785cb2e6..1114a0932b149154ecb602ca94d46634c20eba38 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -3427,6 +3427,7 @@ static void invalidate_and_set_dirty(target_phys_addr_t addr,
         /* set dirty bit */
         cpu_physical_memory_set_dirty_flags(addr, (0xff & ~CODE_DIRTY_FLAG));
     }
+    xen_modified_memory(addr, length);
 }
 
 void cpu_physical_memory_rw(target_phys_addr_t addr, uint8_t *buf,