summaryrefslogtreecommitdiff
path: root/include/exec
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-02-08 13:12:50 +0000
committerPeter Maydell <peter.maydell@linaro.org>2014-02-08 13:12:50 +0000
commit3ea3bd62451ac79478b440ad9fe2a4cd69783a1f (patch)
treeca7877399ac9d5b3cd00d00c787224281719fe49 /include/exec
parent4db0014521a6820415298e10978b53dee3440f56 (diff)
parent89db9987c07977bdb78d5d4b41d65e7acb9a5a2c (diff)
downloadqemu-3ea3bd62451ac79478b440ad9fe2a4cd69783a1f.tar.gz
Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20140204-1' into staging
migration/next for 20140204 # gpg: Signature made Tue 04 Feb 2014 15:52:00 GMT using RSA key ID 5872D723 # gpg: Can't check signature: public key not found * remotes/juanquintela/tags/migration/20140204-1: Don't abort on memory allocation error Don't abort on out of memory when creating page cache XBZRLE cache size should not be larger than guest memory size migration:fix free XBZRLE decoded_buf wrong Add check for cache size smaller than page size Set xbzrle buffers to NULL after freeing them to avoid double free errors exec: fix ram_list dirty map optimization vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/exec')
-rw-r--r--include/exec/ram_addr.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index 481a447417..2edfa96c6d 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -93,7 +93,8 @@ static inline void cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
unsigned long page = BIT_WORD(start >> TARGET_PAGE_BITS);
/* start address is aligned at the start of a word? */
- if (((page * BITS_PER_LONG) << TARGET_PAGE_BITS) == start) {
+ if ((((page * BITS_PER_LONG) << TARGET_PAGE_BITS) == start) &&
+ (hpratio == 1)) {
long k;
long nr = BITS_TO_LONGS(pages);