}
}
-static void hvf_log_sync(MemoryListener *listener,
- MemoryRegionSection *section)
+static void hvf_log_clear(MemoryListener *listener,
+ MemoryRegionSection *section)
{
/*
- * sync of dirty pages is handled elsewhere; just make sure we keep
- * tracking the region.
+ * The dirty page bits within section are being cleared.
+ * Some number of those pages may have been dirtied and
+ * the write permission enabled. Reset the range read-only.
*/
hvf_protect_clean_range(section->offset_within_address_space,
int128_get64(section->size));
.region_del = hvf_region_del,
.log_start = hvf_log_start,
.log_stop = hvf_log_stop,
- .log_sync = hvf_log_sync,
+ .log_clear = hvf_log_clear,
};
static int hvf_accel_init(AccelState *as, MachineState *ms)