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 <[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);
}
}
--
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