]> git.proxmox.com Git - mirror_qemu.git/blob - docs/specs/pci-ids.rst
Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging
[mirror_qemu.git] / docs / specs / pci-ids.rst
1 ================
2 PCI IDs for QEMU
3 ================
4
5 Red Hat, Inc. donates a part of its device ID range to QEMU, to be used for
6 virtual devices. The vendor IDs are 1af4 (formerly Qumranet ID) and 1b36.
7
8 Contact Gerd Hoffmann <kraxel@redhat.com> to get a device ID assigned
9 for your devices.
10
11 1af4 vendor ID
12 --------------
13
14 The 1000 -> 10ff device ID range is used as follows for virtio-pci devices.
15 Note that this allocation is separate from the virtio device IDs, which are
16 maintained as part of the virtio specification.
17
18 1af4:1000
19 network device (legacy)
20 1af4:1001
21 block device (legacy)
22 1af4:1002
23 balloon device (legacy)
24 1af4:1003
25 console device (legacy)
26 1af4:1004
27 SCSI host bus adapter device (legacy)
28 1af4:1005
29 entropy generator device (legacy)
30 1af4:1009
31 9p filesystem device (legacy)
32 1af4:1012
33 vsock device (bug compatibility)
34
35 1af4:1040 to 1af4:10ef
36 ID range for modern virtio devices. The PCI device
37 ID is calculated from the virtio device ID by adding the
38 0x1040 offset. The virtio IDs are defined in the virtio
39 specification. The Linux kernel has a header file with
40 defines for all virtio IDs (``linux/virtio_ids.h``); QEMU has a
41 copy in ``include/standard-headers/``.
42
43 1af4:10f0 to 1a4f:10ff
44 Available for experimental usage without registration. Must get
45 official ID when the code leaves the test lab (i.e. when seeking
46 upstream merge or shipping a distro/product) to avoid conflicts.
47
48 1af4:1100
49 Used as PCI Subsystem ID for existing hardware devices emulated
50 by QEMU.
51
52 1af4:1110
53 ivshmem device (shared memory, ``docs/specs/ivshmem-spec.txt``)
54
55 All other device IDs are reserved.
56
57 1b36 vendor ID
58 --------------
59
60 The 0000 -> 00ff device ID range is used as follows for QEMU-specific
61 PCI devices (other than virtio):
62
63 1b36:0001
64 PCI-PCI bridge
65 1b36:0002
66 PCI serial port (16550A) adapter (:doc:`pci-serial`)
67 1b36:0003
68 PCI Dual-port 16550A adapter (:doc:`pci-serial`)
69 1b36:0004
70 PCI Quad-port 16550A adapter (:doc:`pci-serial`)
71 1b36:0005
72 PCI test device (:doc:`pci-testdev`)
73 1b36:0006
74 PCI Rocker Ethernet switch device
75 1b36:0007
76 PCI SD Card Host Controller Interface (SDHCI)
77 1b36:0008
78 PCIe host bridge
79 1b36:0009
80 PCI Expander Bridge (-device pxb)
81 1b36:000a
82 PCI-PCI bridge (multiseat)
83 1b36:000b
84 PCIe Expander Bridge (-device pxb-pcie)
85 1b36:000d
86 PCI xhci usb host adapter
87 1b36:000f
88 mdpy (mdev sample device), ``linux/samples/vfio-mdev/mdpy.c``
89 1b36:0010
90 PCIe NVMe device (``-device nvme``)
91 1b36:0011
92 PCI PVPanic device (``-device pvpanic-pci``)
93 1b36:0012
94 PCI ACPI ERST device (``-device acpi-erst``)
95 1b36:0013
96 PCI UFS device (``-device ufs``)
97
98 All these devices are documented in :doc:`index`.
99
100 The 0100 device ID is used for the QXL video card device.