|
From: | Anthony Liguori |
Subject: | [Qemu-devel] Re: [PATCH 1/5] re-register whole area upon lfb unmap. |
Date: | Wed, 17 Dec 2008 14:53:14 -0600 |
User-agent: | Thunderbird 2.0.0.17 (X11/20080925) |
Glauber Costa wrote:
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.
This change worries me because it involves explicitly unassigning slots and then assigning a new, bigger slot. This is not necessary for TCG. It suggests to me that there's a bug in the kvm slot code and that we're changing QEMU to work around it.
That will means there may be other places in the code that are completely valid, but exercise this bug.
Or is this purely an optimization? Regards, Anthony Liguori
Signed-off-by: Glauber Costa <address@hidden> --- hw/cirrus_vga.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c index 83c5f40..6e81906 100644 --- a/hw/cirrus_vga.c +++ b/hw/cirrus_vga.c @@ -2658,8 +2658,10 @@ static void map_linear_vram(CirrusVGAState *s) 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); + cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x8000, IO_MEM_UNASSIGNED); + cpu_register_physical_memory(isa_mem_base + 0xa8000, 0x8000, IO_MEM_UNASSIGNED); + + cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x20000, s->vga_io_memory); }}
[Prev in Thread] | Current Thread | [Next in Thread] |