
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 : edid data blob.
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.

0600 - 0607 : qemu extended registers.  qemu 2.2+ only.
              The pci revision is 2 (or greater) when
              these registers are present.  The registers
              are 32bit.
  0600      : qemu extended register region size, in bytes.
  0604      : framebuffer endianness register.
              - 0xbebebebe indicates big endian.
              - 0x1e1e1e1e indicates little endian.
