Patchwork [V2,4/5] exec, memory: Call to xen_modified_memory.

login
register
mail settings
Submitter Anthony PERARD
Date July 20, 2012, 2:34 p.m.
Message ID <1342794882-30648-5-git-send-email-anthony.perard@citrix.com>
Download mbox | patch
Permalink /patch/172284/
State New
Headers show

Comments

Anthony PERARD - July 20, 2012, 2:34 p.m.
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>
---
 exec.c   |    1 +
 memory.c |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

Patch

diff --git a/exec.c b/exec.c
index b24a03a..84f9557 100644
--- a/exec.c
+++ b/exec.c
@@ -3394,6 +3394,7 @@  static void set_dirty_helper(target_phys_addr_t addr, target_phys_addr_t length)
         /* 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,
diff --git a/memory.c b/memory.c
index 643871b..1b91330 100644
--- a/memory.c
+++ b/memory.c
@@ -19,6 +19,7 @@ 
 #include "bitops.h"
 #include "kvm.h"
 #include <assert.h>
+#include "hw/xen.h"
 
 #define WANT_EXEC_OBSOLETE
 #include "exec-obsolete.h"
@@ -1085,6 +1086,7 @@  void memory_region_set_dirty(MemoryRegion *mr, target_phys_addr_t addr,
                              target_phys_addr_t size)
 {
     assert(mr->terminates);
+    xen_modified_memory(mr->ram_addr + addr, size);
     return cpu_physical_memory_set_dirty_range(mr->ram_addr + addr, size, -1);
 }