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 <[email protected]>
---
 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);
     }
 
 }
-- 
1.5.6.5

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to