From: Mark Cave-Ayland Date: Sun, 2 Jun 2013 16:23:00 +0000 (+0100) Subject: tcx: Fix 24-bit display mode X-Git-Tag: qemu-xen-4.4.0-rc1~6^2~338 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f10acc8b38d65a66ffa0588a036489d7fa6a593e;p=qemu-upstream-4.5-testing.git tcx: Fix 24-bit display mode Commit d08151bf (conversion of tcx to the memory API) broke the 24-bit mode of the tcx display adapter by accidentally passing in the final address of the dirty region to memory_region_reset_dirty() instead of its size. Signed-off-by: Mark Cave-Ayland Signed-off-by: Blue Swirl --- diff --git a/hw/display/tcx.c b/hw/display/tcx.c index fc27f45e4..995641c74 100644 --- a/hw/display/tcx.c +++ b/hw/display/tcx.c @@ -193,15 +193,16 @@ static inline void reset_dirty(TCXState *ts, ram_addr_t page_min, ram_addr_t cpage) { memory_region_reset_dirty(&ts->vram_mem, - page_min, page_max + TARGET_PAGE_SIZE, + page_min, + (page_max - page_min) + TARGET_PAGE_SIZE, DIRTY_MEMORY_VGA); memory_region_reset_dirty(&ts->vram_mem, page24 + page_min * 4, - page24 + page_max * 4 + TARGET_PAGE_SIZE, + (page_max - page_min) * 4 + TARGET_PAGE_SIZE, DIRTY_MEMORY_VGA); memory_region_reset_dirty(&ts->vram_mem, cpage + page_min * 4, - cpage + page_max * 4 + TARGET_PAGE_SIZE, + (page_max - page_min) * 4 + TARGET_PAGE_SIZE, DIRTY_MEMORY_VGA); } @@ -285,7 +286,8 @@ static void tcx_update_display(void *opaque) /* reset modified pages */ if (page_max >= page_min) { memory_region_reset_dirty(&ts->vram_mem, - page_min, page_max + TARGET_PAGE_SIZE, + page_min, + (page_max - page_min) + TARGET_PAGE_SIZE, DIRTY_MEMORY_VGA); } }