vga: Use linear mapping + dirty logging in chain 4 memory access mode
authorJan Kiszka <jan.kiszka@siemens.com>
Mon, 22 Aug 2011 17:12:12 +0000 (19:12 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 22 Aug 2011 19:37:03 +0000 (14:37 -0500)
commitee058db8edcd58ea886b939952c23887193eab5c
tree2e83ff9249c33705aa57dea82a98db9792688c6e
parent18ec8d99b16614b87b9dac84a20ecb183a1b5452
vga: Use linear mapping + dirty logging in chain 4 memory access mode

Most VGA memory access modes require MMIO handling as they demand weird
logic to get a byte from or into the video RAM. However, there is one
exception: chain 4 mode with all memory planes enabled for writing. This
mode actually allows lineary mapping, which can then be combined with
dirty logging to accelerate KVM.

This patch accelerates specifically VBE accesses like they are used by
grub in graphical mode. Not only the standard VGA adapter benefits from
this, also vmware and spice in VGA mode.

CC: Gerd Hoffmann <kraxel@redhat.com>
CC: Avi Kivity <avi@redhat.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/vga.c
hw/vga_int.h