summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2012-02-04 17:09:14 +0000
committerBlue Swirl <blauwirbel@gmail.com>2012-02-11 10:39:13 +0000
commitd1f3dd343c163d0e1d188b964b7d635692bac7d8 (patch)
treeab87f03995810cc2038c7c4478c307f87dc72386
parent57c83dacfe179bf061b8fa79d9553ebabe4d2ff4 (diff)
downloadqemu-d1f3dd343c163d0e1d188b964b7d635692bac7d8.tar.gz
Fix memory dirty getting API change fallout
Fix confusion in length calculation in commit cd7a45c95ecf2404810f3c6becb7cb83c5010ad8. Reported-by: Jan Kiszka <jan.kiszka@web.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r--hw/framebuffer.c2
-rw-r--r--hw/sm501.c4
-rw-r--r--hw/vga.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/hw/framebuffer.c b/hw/framebuffer.c
index ea122fb266..f4747cd646 100644
--- a/hw/framebuffer.c
+++ b/hw/framebuffer.c
@@ -87,7 +87,7 @@ void framebuffer_update_display(
dest += i * dest_row_pitch;
for (; i < rows; i++) {
- dirty = memory_region_get_dirty(mem, addr, addr + src_width,
+ dirty = memory_region_get_dirty(mem, addr, src_width,
DIRTY_MEMORY_VGA);
if (dirty || invalidate) {
fn(opaque, dest, src, cols, dest_col_pitch);
diff --git a/hw/sm501.c b/hw/sm501.c
index 94c0abf4cb..786e07629c 100644
--- a/hw/sm501.c
+++ b/hw/sm501.c
@@ -1327,8 +1327,8 @@ static void sm501_draw_crt(SM501State * s)
ram_addr_t page1 = offset + width * src_bpp - 1;
/* check dirty flags for each line */
- update = memory_region_get_dirty(&s->local_mem_region, page0, page1,
- DIRTY_MEMORY_VGA);
+ update = memory_region_get_dirty(&s->local_mem_region, page0,
+ page1 - page0, DIRTY_MEMORY_VGA);
/* draw line and change status */
if (update) {
diff --git a/hw/vga.c b/hw/vga.c
index d87c4f9f5b..d27700d41b 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -1779,7 +1779,7 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
}
page0 = addr;
page1 = addr + bwidth - 1;
- update = memory_region_get_dirty(&s->vram, page0, page1,
+ update = memory_region_get_dirty(&s->vram, page0, page1 - page0,
DIRTY_MEMORY_VGA);
/* explicit invalidation for the hardware cursor */
update |= (s->invalidated_y_table[y >> 5] >> (y & 0x1f)) & 1;