Commit 662f3c86ecf03979feae8ffdba415ff23cffabdc
1 parent
5416376e
ram dirty flag handling fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1247 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
2 additions
and
12 deletions
hw/tcx.c
| @@ -104,11 +104,7 @@ void tcx_update_display(void *opaque) | @@ -104,11 +104,7 @@ void tcx_update_display(void *opaque) | ||
| 104 | 104 | ||
| 105 | if (ts->ds->depth == 0) | 105 | if (ts->ds->depth == 0) |
| 106 | return; | 106 | return; |
| 107 | -#ifdef LD_BYPASS_OK | ||
| 108 | page = ts->vram_offset + YOFF*MAXX; | 107 | page = ts->vram_offset + YOFF*MAXX; |
| 109 | -#else | ||
| 110 | - page = ts->addr + YOFF*MAXX; | ||
| 111 | -#endif | ||
| 112 | y_start = -1; | 108 | y_start = -1; |
| 113 | page_min = 0x7fffffff; | 109 | page_min = 0x7fffffff; |
| 114 | page_max = -1; | 110 | page_max = -1; |
| @@ -131,7 +127,7 @@ void tcx_update_display(void *opaque) | @@ -131,7 +127,7 @@ void tcx_update_display(void *opaque) | ||
| 131 | case 0: | 127 | case 0: |
| 132 | return; | 128 | return; |
| 133 | } | 129 | } |
| 134 | - | 130 | + |
| 135 | for(y = 0; y < YSZ; y += 4, page += TARGET_PAGE_SIZE) { | 131 | for(y = 0; y < YSZ; y += 4, page += TARGET_PAGE_SIZE) { |
| 136 | if (cpu_physical_memory_is_dirty(page)) { | 132 | if (cpu_physical_memory_is_dirty(page)) { |
| 137 | if (y_start < 0) | 133 | if (y_start < 0) |
| @@ -180,11 +176,7 @@ void tcx_invalidate_display(void *opaque) | @@ -180,11 +176,7 @@ void tcx_invalidate_display(void *opaque) | ||
| 180 | int i; | 176 | int i; |
| 181 | 177 | ||
| 182 | for (i = 0; i < MAXX*MAXY; i += TARGET_PAGE_SIZE) { | 178 | for (i = 0; i < MAXX*MAXY; i += TARGET_PAGE_SIZE) { |
| 183 | -#ifdef LD_BYPASS_OK | ||
| 184 | cpu_physical_memory_set_dirty(s->vram_offset + i); | 179 | cpu_physical_memory_set_dirty(s->vram_offset + i); |
| 185 | -#else | ||
| 186 | - cpu_physical_memory_set_dirty(s->addr + i); | ||
| 187 | -#endif | ||
| 188 | } | 180 | } |
| 189 | } | 181 | } |
| 190 | 182 | ||
| @@ -224,9 +216,7 @@ static void tcx_reset(void *opaque) | @@ -224,9 +216,7 @@ static void tcx_reset(void *opaque) | ||
| 224 | memset(s->b, 0, 256); | 216 | memset(s->b, 0, 256); |
| 225 | s->r[255] = s->g[255] = s->b[255] = 255; | 217 | s->r[255] = s->g[255] = s->b[255] = 255; |
| 226 | memset(s->vram, 0, MAXX*MAXY); | 218 | memset(s->vram, 0, MAXX*MAXY); |
| 227 | -#ifdef LD_BYPASS_OK | ||
| 228 | - cpu_physical_memory_reset_dirty(s->vram_offset, s->vram_offset + MAXX*MAXY - 1); | ||
| 229 | -#endif | 219 | + cpu_physical_memory_reset_dirty(s->vram_offset, s->vram_offset + MAXX*MAXY); |
| 230 | } | 220 | } |
| 231 | 221 | ||
| 232 | void *tcx_init(DisplayState *ds, uint32_t addr, uint8_t *vram_base, | 222 | void *tcx_init(DisplayState *ds, uint32_t addr, uint8_t *vram_base, |