aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2023-09-27 16:12:02 +0100
committerPeter Maydell <peter.maydell@linaro.org>2023-11-02 12:52:06 +0000
commit68ed96bebf12100a78a211796c1231d66c868d33 (patch)
tree921d780a10eb6b1bd84abcaaaeb30e46b8ed4abe /docs
parent945f3fd4e46405ed37b035922eebe2bfad6bc11e (diff)
downloadqemu-68ed96bebf12100a78a211796c1231d66c868d33.zip
qemu-68ed96bebf12100a78a211796c1231d66c868d33.tar.gz
qemu-68ed96bebf12100a78a211796c1231d66c868d33.tar.bz2
docs/specs/standard-vga: Convert to rST
Convert docs/specs/standard-vga.txt to rST format. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20230927151205.70930-6-peter.maydell@linaro.org Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'docs')
-rw-r--r--docs/specs/index.rst1
-rw-r--r--docs/specs/standard-vga.rst94
-rw-r--r--docs/specs/standard-vga.txt81
3 files changed, 95 insertions, 81 deletions
diff --git a/docs/specs/index.rst b/docs/specs/index.rst
index 52bfab2..ee84b81 100644
--- a/docs/specs/index.rst
+++ b/docs/specs/index.rst
@@ -28,3 +28,4 @@ guest hardware that is specific to QEMU.
edu
ivshmem-spec
pvpanic
+ standard-vga
diff --git a/docs/specs/standard-vga.rst b/docs/specs/standard-vga.rst
new file mode 100644
index 0000000..992f429
--- /dev/null
+++ b/docs/specs/standard-vga.rst
@@ -0,0 +1,94 @@
+
+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`` to ``0x3df``), remapped 1:1. Word access
+ is supported, bytes are written in little endian 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.
diff --git a/docs/specs/standard-vga.txt b/docs/specs/standard-vga.txt
deleted file mode 100644
index 18f75f1..0000000
--- a/docs/specs/standard-vga.txt
+++ /dev/null
@@ -1,81 +0,0 @@
-
-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.