From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LDMG4-0007xm-Rq for qemu-devel@nongnu.org; Thu, 18 Dec 2008 12:01:57 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LDMG1-0007vC-0F for qemu-devel@nongnu.org; Thu, 18 Dec 2008 12:01:54 -0500 Received: from [199.232.76.173] (port=47964 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LDMFz-0007tu-KF for qemu-devel@nongnu.org; Thu, 18 Dec 2008 12:01:51 -0500 Received: from mx2.redhat.com ([66.187.237.31]:34493) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LDMFy-00009y-2L for qemu-devel@nongnu.org; Thu, 18 Dec 2008 12:01:50 -0500 From: Glauber Costa Date: Thu, 18 Dec 2008 12:01:38 -0500 Message-Id: <1229619702-26315-3-git-send-email-glommer@redhat.com> In-Reply-To: <1229619702-26315-2-git-send-email-glommer@redhat.com> References: <1229619702-26315-1-git-send-email-glommer@redhat.com> <1229619702-26315-2-git-send-email-glommer@redhat.com> Subject: [Qemu-devel] [PATCH 2/6] re-register whole area upon lfb unmap. 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 Cc: Ian.Jackson@eu.citrix.com, avi@redhat.com, kvm@vger.kernel.org, stefano.stabellini@eu.citrix.com set phys_offset correctly for the whole vga area when unmapping linear vram (for vga optimization). We first register the old pieces as unassigned memory, to make things easier for kvm (and possibly other slot based implementations in the future). Replacing the region directly would make the slot management significantly more complex. Signed-off-by: Glauber Costa --- hw/cirrus_vga.c | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c index 83c5f40..e4f08ef 100644 --- a/hw/cirrus_vga.c +++ b/hw/cirrus_vga.c @@ -2657,11 +2657,8 @@ static void map_linear_vram(CirrusVGAState *s) s->lfb_vram_mapped = 1; vga_dirty_log_start((VGAState *)s); } - else { - cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x8000, s->vga_io_memory); - cpu_register_physical_memory(isa_mem_base + 0xa8000, 0x8000, s->vga_io_memory); - } - + else + cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x20000, s->vga_io_memory); } static void unmap_linear_vram(CirrusVGAState *s) -- 1.5.6.5