From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lup1b-0002sb-TH for qemu-devel@nongnu.org; Fri, 17 Apr 2009 10:26:39 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lup1b-0002sE-02 for qemu-devel@nongnu.org; Fri, 17 Apr 2009 10:26:39 -0400 Received: from [199.232.76.173] (port=42011 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lup1a-0002sB-Sr for qemu-devel@nongnu.org; Fri, 17 Apr 2009 10:26:38 -0400 Received: from savannah.gnu.org ([199.232.41.3]:57829 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lup1a-0001t2-Mq for qemu-devel@nongnu.org; Fri, 17 Apr 2009 10:26:38 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Lup1a-0002gu-76 for qemu-devel@nongnu.org; Fri, 17 Apr 2009 14:26:38 +0000 Received: from aliguori by cvs.savannah.gnu.org with local (Exim 4.69) (envelope-from ) id 1Lup1a-0002gq-0T for qemu-devel@nongnu.org; Fri, 17 Apr 2009 14:26:38 +0000 MIME-Version: 1.0 Errors-To: aliguori Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Anthony Liguori Message-Id: Date: Fri, 17 Apr 2009 14:26:38 +0000 Subject: [Qemu-devel] [7140] vga: Fix inconsistent tracking of map_addr (Jan Kiszka) Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 7140 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=7140 Author: aliguori Date: 2009-04-17 14:26:37 +0000 (Fri, 17 Apr 2009) Log Message: ----------- vga: Fix inconsistent tracking of map_addr (Jan Kiszka) Only track video RAM mapping in map_addr and use the correct RAM size. Furthermore, make sure the reset the address in case unmapping took place via PCI reconfiguration. Signed-off-by: Jan Kiszka Signed-off-by: Anthony Liguori Modified Paths: -------------- trunk/hw/vga.c Modified: trunk/hw/vga.c =================================================================== --- trunk/hw/vga.c 2009-04-17 14:26:33 UTC (rev 7139) +++ trunk/hw/vga.c 2009-04-17 14:26:37 UTC (rev 7140) @@ -2258,12 +2258,10 @@ cpu_register_physical_memory(addr, s->bios_size, s->bios_offset); } else { cpu_register_physical_memory(addr, s->vram_size, s->vram_offset); + s->map_addr = addr; + s->map_end = addr + s->vram_size; + vga_dirty_log_start(s); } - - s->map_addr = addr; - s->map_end = addr + VGA_RAM_SIZE; - - vga_dirty_log_start(s); } void vga_common_init(VGAState *s, int vga_ram_size) @@ -2493,6 +2491,8 @@ vga_dirty_log_stop(s); pci_default_write_config(d, address, val, len); + if (s->map_addr && pvs->dev.io_regions[0].addr == -1) + s->map_addr = 0; vga_dirty_log_start(s); }