diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2011-08-22 19:12:12 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2011-08-22 14:37:03 -0500 |
commit | 80763888bfcb89dddb2f4eeece8ffc2ed91bde40 (patch) | |
tree | 2e83ff9249c33705aa57dea82a98db9792688c6e /hw/vga_int.h | |
parent | fe55ff6e6114c7382a68a2cf7230f125d4f3a248 (diff) | |
download | qemu-80763888bfcb89dddb2f4eeece8ffc2ed91bde40.zip qemu-80763888bfcb89dddb2f4eeece8ffc2ed91bde40.tar.gz qemu-80763888bfcb89dddb2f4eeece8ffc2ed91bde40.tar.bz2 |
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>
Diffstat (limited to 'hw/vga_int.h')
-rw-r--r-- | hw/vga_int.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/vga_int.h b/hw/vga_int.h index d2dd7dd..28b9287 100644 --- a/hw/vga_int.h +++ b/hw/vga_int.h @@ -105,11 +105,13 @@ typedef uint8_t (* vga_retrace_fn)(struct VGACommonState *s); typedef void (* vga_update_retrace_info_fn)(struct VGACommonState *s); typedef struct VGACommonState { + MemoryRegion *legacy_address_space; uint8_t *vram_ptr; MemoryRegion vram; uint32_t vram_size; uint32_t latch; uint32_t lfb_vram_mapped; /* whether 0xa0000 is mapped as ram */ + MemoryRegion *chain4_alias; uint8_t sr_index; uint8_t sr[256]; uint8_t gr_index; |