aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-28 00:00:27 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-28 00:00:27 +0000
commit662f3c86ecf03979feae8ffdba415ff23cffabdc (patch)
tree90a8bfbbd221af93e64e86a262921c2de1eb3405
parent5416376efe7d33adae215ba0e18d220dd9b3c839 (diff)
ram dirty flag handling fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1247 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--hw/tcx.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/hw/tcx.c b/hw/tcx.c
index ccac0bffa6..6b55fc96af 100644
--- a/hw/tcx.c
+++ b/hw/tcx.c
@@ -104,11 +104,7 @@ void tcx_update_display(void *opaque)
if (ts->ds->depth == 0)
return;
-#ifdef LD_BYPASS_OK
page = ts->vram_offset + YOFF*MAXX;
-#else
- page = ts->addr + YOFF*MAXX;
-#endif
y_start = -1;
page_min = 0x7fffffff;
page_max = -1;
@@ -131,7 +127,7 @@ void tcx_update_display(void *opaque)
case 0:
return;
}
-
+
for(y = 0; y < YSZ; y += 4, page += TARGET_PAGE_SIZE) {
if (cpu_physical_memory_is_dirty(page)) {
if (y_start < 0)
@@ -180,11 +176,7 @@ void tcx_invalidate_display(void *opaque)
int i;
for (i = 0; i < MAXX*MAXY; i += TARGET_PAGE_SIZE) {
-#ifdef LD_BYPASS_OK
cpu_physical_memory_set_dirty(s->vram_offset + i);
-#else
- cpu_physical_memory_set_dirty(s->addr + i);
-#endif
}
}
@@ -224,9 +216,7 @@ static void tcx_reset(void *opaque)
memset(s->b, 0, 256);
s->r[255] = s->g[255] = s->b[255] = 255;
memset(s->vram, 0, MAXX*MAXY);
-#ifdef LD_BYPASS_OK
- cpu_physical_memory_reset_dirty(s->vram_offset, s->vram_offset + MAXX*MAXY - 1);
-#endif
+ cpu_physical_memory_reset_dirty(s->vram_offset, s->vram_offset + MAXX*MAXY);
}
void *tcx_init(DisplayState *ds, uint32_t addr, uint8_t *vram_base,