diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2014-07-22 12:03:44 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-07-22 12:03:45 +0100 |
commit | 25af8e6b6106f47f5ee276545fcab47cefa67ba1 (patch) | |
tree | 1cc00a30ce404ebc1b03227cf7d5dce35fe00bc9 /include/exec/ram_addr.h | |
parent | 35858955e6c6f9ef41c199d15457c13426ac6434 (diff) | |
parent | dc54e2525389e903cee2b847cf761b5d857f75cb (diff) |
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
One of the two pending migration fix, and a small KVM patch.
# gpg: Signature made Tue 22 Jul 2014 11:49:30 BST using RSA key ID 9B4D86F2
# gpg: Can't check signature: public key not found
* remotes/bonzini/tags/for-upstream:
kvm-all: Use 'tmpcpu' instead of 'cpu' in sub-looping to avoid 'cpu' be NULL
exec: fix migration with devices that use address_space_rw
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/exec/ram_addr.h')
-rw-r--r-- | include/exec/ram_addr.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h index e9eb831ee3..6593be1310 100644 --- a/include/exec/ram_addr.h +++ b/include/exec/ram_addr.h @@ -71,6 +71,17 @@ static inline void cpu_physical_memory_set_dirty_flag(ram_addr_t addr, set_bit(addr >> TARGET_PAGE_BITS, ram_list.dirty_memory[client]); } +static inline void cpu_physical_memory_set_dirty_range_nocode(ram_addr_t start, + ram_addr_t length) +{ + unsigned long end, page; + + end = TARGET_PAGE_ALIGN(start + length) >> TARGET_PAGE_BITS; + page = start >> TARGET_PAGE_BITS; + bitmap_set(ram_list.dirty_memory[DIRTY_MEMORY_MIGRATION], page, end - page); + bitmap_set(ram_list.dirty_memory[DIRTY_MEMORY_VGA], page, end - page); +} + static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start, ram_addr_t length) { |