From: aliguori Date: Fri, 13 Mar 2009 18:09:59 +0000 (+0000) Subject: stop dirty logging while updating cirrus bank memory (Glauber Costa) X-Git-Tag: TizenStudio_2.0_p2.3~9402 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=29f49aa0c8eb7f37525d372e00d60c019d0a5746;p=sdk%2Femulator%2Fqemu.git stop dirty logging while updating cirrus bank memory (Glauber Costa) Otherwise, slot tracking gets confused. This fixes a screen corruption bug with Ubuntu guest installation. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity Signed-off-by: Anthony Liguori git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6851 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c index ec0297f..fb82189 100644 --- a/hw/cirrus_vga.c +++ b/hw/cirrus_vga.c @@ -2637,11 +2637,16 @@ static void map_linear_vram(CirrusVGAState *s) s->lfb_vram_mapped = 0; + cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x8000, + (s->vram_offset + s->cirrus_bank_base[0]) | IO_MEM_UNASSIGNED); + cpu_register_physical_memory(isa_mem_base + 0xa8000, 0x8000, + (s->vram_offset + s->cirrus_bank_base[1]) | IO_MEM_UNASSIGNED); if (!(s->cirrus_srcptr != s->cirrus_srcptr_end) && !((s->sr[0x07] & 0x01) == 0) && !((s->gr[0x0B] & 0x14) == 0x14) && !(s->gr[0x0B] & 0x02)) { + vga_dirty_log_stop((VGAState *)s); cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x8000, (s->vram_offset + s->cirrus_bank_base[0]) | IO_MEM_RAM); cpu_register_physical_memory(isa_mem_base + 0xa8000, 0x8000,