]> git.proxmox.com Git - mirror_qemu.git/blame - docs/specs/pci-ids.txt
pci-ids: drop list of modern virtio devices
[mirror_qemu.git] / docs / specs / pci-ids.txt
CommitLineData
44d3749c
AL
1
2PCI IDs for qemu
3================
4
5Red Hat, Inc. donates a part of its device ID range to qemu, to be used for
4ea9296c 6virtual devices. The vendor IDs are 1af4 (formerly Qumranet ID) and 1b36.
44d3749c 7
4ea9296c
PB
8Contact Gerd Hoffmann <kraxel@redhat.com> to get a device ID assigned
9for your devices.
44d3749c 10
4ea9296c
PB
111af4 vendor ID
12--------------
44d3749c 13
4ea9296c
PB
14The 1000 -> 10ff device ID range is used as follows for virtio-pci devices.
15Note that this allocation separate from the virtio device IDs, which are
16maintained as part of the virtio specification.
44d3749c 17
b63283d7
GH
181af4:1000 network device (legacy)
191af4:1001 block device (legacy)
201af4:1002 balloon device (legacy)
211af4:1003 console device (legacy)
221af4:1004 SCSI host bus adapter device (legacy)
231af4:1005 entropy generator device (legacy)
241af4:1009 9p filesystem device (legacy)
55f01e76
GH
251af4:1012 vsock device (bug compatibility)
26
271af4:1040 Start of ID range for modern virtio devices. The PCI device
28 to ID is calculated from the virtio device ID by adding the
291af4:10ef 0x1040 offset. The virtio IDs are defined in the virtio
30 specification. The Linux kernel has a header file with
31 defines for all virtio IDs (linux/virtio_ids.h), qemu has a
32 copy in include/standard-headers/.
44d3749c
AL
33
341af4:10f0 Available for experimental usage without registration. Must get
35 to official ID when the code leaves the test lab (i.e. when seeking
361af4:10ff upstream merge or shipping a distro/product) to avoid conflicts.
37
4ea9296c
PB
381af4:1100 Used as PCI Subsystem ID for existing hardware devices emulated
39 by qemu.
40
25e11d87 411af4:1110 ivshmem device (shared memory, docs/specs/ivshmem-spec.txt)
b8ef62a9 42
4ea9296c 43All other device IDs are reserved.
5c03a254
PB
44
451b36 vendor ID
46--------------
47
48The 0000 -> 00ff device ID range is used as follows for QEMU-specific
49PCI devices (other than virtio):
50
511b36:0001 PCI-PCI bridge
521b36:0002 PCI serial port (16550A) adapter (docs/specs/pci-serial.txt)
531b36:0003 PCI Dual-port 16550A adapter (docs/specs/pci-serial.txt)
541b36:0004 PCI Quad-port 16550A adapter (docs/specs/pci-serial.txt)
ece5e5bf 551b36:0005 PCI test device (docs/specs/pci-testdev.txt)
5dcc2637 561b36:0006 PCI Rocker Ethernet switch device
5aa81360 571b36:0007 PCI SD Card Host Controller Interface (SDHCI)
a4d79c3d
GH
581b36:0008 PCIe host bridge
591b36:0009 PCI Expander Bridge (-device pxb)
eb6c6a60 601b36:000a PCI-PCI bridge (multiseat)
a4d79c3d 611b36:000b PCIe Expander Bridge (-device pxb-pcie)
72a810f4 621b36:000d PCI xhci usb host adapter
50a6fa8f 631b36:000f mdpy (mdev sample device), linux/samples/vfio-mdev/mdpy.c
c1e18246 641b36:0010 PCIe NVMe device (-device nvme)
d097b3dc 651b36:0011 PCI PVPanic device (-device pvpanic-pci)
1665b4d5 661b36:0012 PCI ACPI ERST device (-device acpi-erst)
5c03a254
PB
67
68All these devices are documented in docs/specs.
69
70The 0100 device ID is used for the QXL video card device.