display: add memory_region_sync_dirty_bitmap calls These are strictly speaking only needed for KVM and Xen, but it's still nice to be consistent. Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/hw/display/cg3.c b/hw/display/cg3.c index cbcf518..b94e5e0 100644 --- a/hw/display/cg3.c +++ b/hw/display/cg3.c
@@ -106,6 +106,7 @@ pix = memory_region_get_ram_ptr(&s->vram_mem); data = (uint32_t *)surface_data(surface); + memory_region_sync_dirty_bitmap(&s->vram_mem); for (y = 0; y < height; y++) { int update = s->full_update;
diff --git a/hw/display/g364fb.c b/hw/display/g364fb.c index be62dd6..52a9733 100644 --- a/hw/display/g364fb.c +++ b/hw/display/g364fb.c
@@ -260,6 +260,7 @@ qemu_console_resize(s->con, s->width, s->height); } + memory_region_sync_dirty_bitmap(&s->mem_vram); if (s->ctla & CTLA_FORCE_BLANK) { g364fb_draw_blank(s); } else if (s->depth == 8) {
diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 43f8538..15a5ba8 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c
@@ -1322,6 +1322,7 @@ } /* draw each line according to conditions */ + memory_region_sync_dirty_bitmap(&s->local_mem_region); for (y = 0; y < height; y++) { int update_hwc = draw_hwc_line ? within_hwc_y_range(s, y, 1) : 0; int update = full_update || update_hwc;
diff --git a/hw/display/tcx.c b/hw/display/tcx.c index 58faa96..f3faf78 100644 --- a/hw/display/tcx.c +++ b/hw/display/tcx.c
@@ -353,6 +353,7 @@ return; } + memory_region_sync_dirty_bitmap(&ts->vram_mem); for (y = 0; y < ts->height; page += TARGET_PAGE_SIZE) { if (memory_region_get_dirty(&ts->vram_mem, page, TARGET_PAGE_SIZE, DIRTY_MEMORY_VGA)) { @@ -446,6 +447,7 @@ dd = surface_stride(surface); ds = 1024; + memory_region_sync_dirty_bitmap(&ts->vram_mem); for (y = 0; y < ts->height; page += TARGET_PAGE_SIZE, page24 += TARGET_PAGE_SIZE, cpage += TARGET_PAGE_SIZE) { if (tcx24_check_dirty(ts, page, page24, cpage)) {