
QEMU Standard VGA
=================

Exists in two variants, for isa and pci.

command line switches:
    -vga std               [ picks isa for -M isapc, otherwise pci ]
    -device VGA            [ pci variant ]
    -device isa-vga        [ isa variant ]
    -device secondary-vga  [ legacy-free pci variant ]


PCI spec
--------

Applies to the pci variant only for obvious reasons.

PCI ID: 1234:1111

PCI Region 0:
   Framebuffer memory, 16 MB in size (by default).
   Size is tunable via vga_mem_mb property.

PCI Region 1:
   Reserved (so we have the option to make the framebuffer bar 64bit).

PCI Region 2:
   MMIO bar, 4096 bytes in size (qemu 1.3+)

PCI ROM Region:
   Holds the vgabios (qemu 0.14+).


The legacy-free variant has no ROM and has PCI_CLASS_DISPLAY_OTHER
instead of PCI_CLASS_DISPLAY_VGA.


IO ports used
-------------

Doesn't apply to the legacy-free pci variant, use the MMIO bar instead.

03c0 - 03df : standard vga ports
01ce        : bochs vbe interface index port
01cf        : bochs vbe interface data port (x86 only)
01d0        : bochs vbe interface data port


Memory regions used
-------------------

0xe0000000 : Framebuffer memory, isa variant only.

The pci variant used to mirror the framebuffer bar here, qemu 0.14+
stops doing that (except when in -M pc-$old compat mode).


MMIO area spec
--------------

Likewise applies to the pci variant only for obvious reasons.

0000 - 03ff : reserved, for possible virtio extension.
0400 - 041f : vga ioports (0x3c0 -> 0x3df), remapped 1:1.
              word access is supported, bytes are written
              in little endia order (aka index port first),
              so indexed registers can be updated with a
              single mmio write (and thus only one vmexit).
0500 - 0515 : bochs dispi interface registers, mapped flat
              without index/data ports.  Use (index << 1)
              as offset for (16bit) register access.
