docs/specs/pci-ids: Convert from txt to rST

Convert the pci-ids document from plain text to reStructuredText.

I opted to use definition-lists here because rST tables are
super-clunky, and actually formatting these as tables didn't
seem necessary.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20230420160334.1048224-2-peter.maydell@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
master
Peter Maydell 2023-04-20 17:03:32 +01:00 committed by Michael S. Tsirkin
parent 0f689cf5ad
commit 0c0e21d1c1
3 changed files with 99 additions and 70 deletions

View File

@ -8,6 +8,7 @@ guest hardware that is specific to QEMU.
.. toctree::
:maxdepth: 2
pci-ids
ppc-xive
ppc-spapr-xive
ppc-spapr-numa

98
docs/specs/pci-ids.rst Normal file
View File

@ -0,0 +1,98 @@
================
PCI IDs for QEMU
================
Red Hat, Inc. donates a part of its device ID range to QEMU, to be used for
virtual devices. The vendor IDs are 1af4 (formerly Qumranet ID) and 1b36.
Contact Gerd Hoffmann <kraxel@redhat.com> to get a device ID assigned
for your devices.
1af4 vendor ID
--------------
The 1000 -> 10ff device ID range is used as follows for virtio-pci devices.
Note that this allocation is separate from the virtio device IDs, which are
maintained as part of the virtio specification.
1af4:1000
network device (legacy)
1af4:1001
block device (legacy)
1af4:1002
balloon device (legacy)
1af4:1003
console device (legacy)
1af4:1004
SCSI host bus adapter device (legacy)
1af4:1005
entropy generator device (legacy)
1af4:1009
9p filesystem device (legacy)
1af4:1012
vsock device (bug compatibility)
1af4:1040 to 1af4:10ef
ID range for modern virtio devices. The PCI device
ID is calculated from the virtio device ID by adding the
0x1040 offset. The virtio IDs are defined in the virtio
specification. The Linux kernel has a header file with
defines for all virtio IDs (``linux/virtio_ids.h``); QEMU has a
copy in ``include/standard-headers/``.
1af4:10f0 to 1a4f:10ff
Available for experimental usage without registration. Must get
official ID when the code leaves the test lab (i.e. when seeking
upstream merge or shipping a distro/product) to avoid conflicts.
1af4:1100
Used as PCI Subsystem ID for existing hardware devices emulated
by QEMU.
1af4:1110
ivshmem device (shared memory, ``docs/specs/ivshmem-spec.txt``)
All other device IDs are reserved.
1b36 vendor ID
--------------
The 0000 -> 00ff device ID range is used as follows for QEMU-specific
PCI devices (other than virtio):
1b36:0001
PCI-PCI bridge
1b36:0002
PCI serial port (16550A) adapter (``docs/specs/pci-serial.txt``)
1b36:0003
PCI Dual-port 16550A adapter (``docs/specs/pci-serial.txt``)
1b36:0004
PCI Quad-port 16550A adapter (``docs/specs/pci-serial.txt``)
1b36:0005
PCI test device (``docs/specs/pci-testdev.txt``)
1b36:0006
PCI Rocker Ethernet switch device
1b36:0007
PCI SD Card Host Controller Interface (SDHCI)
1b36:0008
PCIe host bridge
1b36:0009
PCI Expander Bridge (-device pxb)
1b36:000a
PCI-PCI bridge (multiseat)
1b36:000b
PCIe Expander Bridge (-device pxb-pcie)
1b36:000d
PCI xhci usb host adapter
1b36:000f
mdpy (mdev sample device), ``linux/samples/vfio-mdev/mdpy.c``
1b36:0010
PCIe NVMe device (``-device nvme``)
1b36:0011
PCI PVPanic device (``-device pvpanic-pci``)
1b36:0012
PCI ACPI ERST device (``-device acpi-erst``)
All these devices are documented in :doc:`index`.
The 0100 device ID is used for the QXL video card device.

View File

@ -1,70 +0,0 @@
PCI IDs for qemu
================
Red Hat, Inc. donates a part of its device ID range to qemu, to be used for
virtual devices. The vendor IDs are 1af4 (formerly Qumranet ID) and 1b36.
Contact Gerd Hoffmann <kraxel@redhat.com> to get a device ID assigned
for your devices.
1af4 vendor ID
--------------
The 1000 -> 10ff device ID range is used as follows for virtio-pci devices.
Note that this allocation separate from the virtio device IDs, which are
maintained as part of the virtio specification.
1af4:1000 network device (legacy)
1af4:1001 block device (legacy)
1af4:1002 balloon device (legacy)
1af4:1003 console device (legacy)
1af4:1004 SCSI host bus adapter device (legacy)
1af4:1005 entropy generator device (legacy)
1af4:1009 9p filesystem device (legacy)
1af4:1012 vsock device (bug compatibility)
1af4:1040 Start of ID range for modern virtio devices. The PCI device
to ID is calculated from the virtio device ID by adding the
1af4:10ef 0x1040 offset. The virtio IDs are defined in the virtio
specification. The Linux kernel has a header file with
defines for all virtio IDs (linux/virtio_ids.h), qemu has a
copy in include/standard-headers/.
1af4:10f0 Available for experimental usage without registration. Must get
to official ID when the code leaves the test lab (i.e. when seeking
1af4:10ff upstream merge or shipping a distro/product) to avoid conflicts.
1af4:1100 Used as PCI Subsystem ID for existing hardware devices emulated
by qemu.
1af4:1110 ivshmem device (shared memory, docs/specs/ivshmem-spec.txt)
All other device IDs are reserved.
1b36 vendor ID
--------------
The 0000 -> 00ff device ID range is used as follows for QEMU-specific
PCI devices (other than virtio):
1b36:0001 PCI-PCI bridge
1b36:0002 PCI serial port (16550A) adapter (docs/specs/pci-serial.txt)
1b36:0003 PCI Dual-port 16550A adapter (docs/specs/pci-serial.txt)
1b36:0004 PCI Quad-port 16550A adapter (docs/specs/pci-serial.txt)
1b36:0005 PCI test device (docs/specs/pci-testdev.txt)
1b36:0006 PCI Rocker Ethernet switch device
1b36:0007 PCI SD Card Host Controller Interface (SDHCI)
1b36:0008 PCIe host bridge
1b36:0009 PCI Expander Bridge (-device pxb)
1b36:000a PCI-PCI bridge (multiseat)
1b36:000b PCIe Expander Bridge (-device pxb-pcie)
1b36:000d PCI xhci usb host adapter
1b36:000f mdpy (mdev sample device), linux/samples/vfio-mdev/mdpy.c
1b36:0010 PCIe NVMe device (-device nvme)
1b36:0011 PCI PVPanic device (-device pvpanic-pci)
1b36:0012 PCI ACPI ERST device (-device acpi-erst)
All these devices are documented in docs/specs.
The 0100 device ID is used for the QXL video card device.