From: Junyan He <junyan...@intel.com> We need to collect dirty log for nvdimm kind memory, need to enable memory_region_set_log for more clients rather than just VGA.
Signed-off-by: Junyan He <junyan...@intel.com> --- memory.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/memory.c b/memory.c index e70b64b..4a8a2fe 100644 --- a/memory.c +++ b/memory.c @@ -1921,11 +1921,12 @@ void memory_region_set_log(MemoryRegion *mr, bool log, unsigned client) uint8_t mask = 1 << client; uint8_t old_logging; - assert(client == DIRTY_MEMORY_VGA); - old_logging = mr->vga_logging_count; - mr->vga_logging_count += log ? 1 : -1; - if (!!old_logging == !!mr->vga_logging_count) { - return; + if (client == DIRTY_MEMORY_VGA) { + old_logging = mr->vga_logging_count; + mr->vga_logging_count += log ? 1 : -1; + if (!!old_logging == !!mr->vga_logging_count) { + return; + } } memory_region_transaction_begin(); -- 2.7.4