s390x/kvm: Implemented SIGP START
[qemu.git] / docs / specs / standard-vga.txt
blob8a4c1e93cd46f19d7ce3e66ab9a2e9fcb0f4963b
2 QEMU Standard VGA
3 =================
5 Exists in two variants, for isa and pci.
7 command line switches:
8     -vga std            [ picks isa for -M isapc, otherwise pci ]
9     -device VGA         [ pci variant ]
10     -device isa-vga     [ isa variant ]
13 PCI spec
14 --------
16 Applies to the pci variant only for obvious reasons.
18 PCI ID: 1234:1111
20 PCI Region 0:
21    Framebuffer memory, 16 MB in size (by default).
22    Size is tunable via vga_mem_mb property.
24 PCI Region 1:
25    Reserved (so we have the option to make the framebuffer bar 64bit).
27 PCI Region 2:
28    MMIO bar, 4096 bytes in size (qemu 1.3+)
30 PCI ROM Region:
31    Holds the vgabios (qemu 0.14+).
34 IO ports used
35 -------------
37 03c0 - 03df : standard vga ports
38 01ce        : bochs vbe interface index port
39 01cf        : bochs vbe interface data port (x86 only)
40 01d0        : bochs vbe interface data port
43 Memory regions used
44 -------------------
46 0xe0000000 : Framebuffer memory, isa variant only.
48 The pci variant used to mirror the framebuffer bar here, qemu 0.14+
49 stops doing that (except when in -M pc-$old compat mode).
52 MMIO area spec
53 --------------
55 Likewise applies to the pci variant only for obvious reasons.
57 0000 - 03ff : reserved, for possible virtio extension.
58 0400 - 041f : vga ioports (0x3c0 -> 0x3df), remapped 1:1.
59               word access is supported, bytes are written
60               in little endia order (aka index port first),
61               so indexed registers can be updated with a
62               single mmio write (and thus only one vmexit).
63 0500 - 0515 : bochs dispi interface registers, mapped flat
64               without index/data ports.  Use (index << 1)
65               as offset for (16bit) register access.