]> git.proxmox.com Git - mirror_qemu.git/blame - docs/specs/pci-ids.rst
migration: save_compress_page() can take block through pss
[mirror_qemu.git] / docs / specs / pci-ids.rst
CommitLineData
0c0e21d1
PM
1================
2PCI IDs for QEMU
3================
4
5Red Hat, Inc. donates a part of its device ID range to QEMU, to be used for
6virtual devices. The vendor IDs are 1af4 (formerly Qumranet ID) and 1b36.
7
8Contact Gerd Hoffmann <kraxel@redhat.com> to get a device ID assigned
9for your devices.
10
111af4 vendor ID
12--------------
13
14The 1000 -> 10ff device ID range is used as follows for virtio-pci devices.
15Note that this allocation is separate from the virtio device IDs, which are
16maintained as part of the virtio specification.
17
181af4:1000
19 network device (legacy)
201af4:1001
21 block device (legacy)
221af4:1002
23 balloon device (legacy)
241af4:1003
25 console device (legacy)
261af4:1004
27 SCSI host bus adapter device (legacy)
281af4:1005
29 entropy generator device (legacy)
301af4:1009
31 9p filesystem device (legacy)
321af4:1012
33 vsock device (bug compatibility)
34
351af4: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
431af4: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
481af4:1100
49 Used as PCI Subsystem ID for existing hardware devices emulated
50 by QEMU.
51
521af4:1110
53 ivshmem device (shared memory, ``docs/specs/ivshmem-spec.txt``)
54
55All other device IDs are reserved.
56
571b36 vendor ID
58--------------
59
60The 0000 -> 00ff device ID range is used as follows for QEMU-specific
61PCI devices (other than virtio):
62
631b36:0001
64 PCI-PCI bridge
651b36:0002
3669b594 66 PCI serial port (16550A) adapter (:doc:`pci-serial`)
0c0e21d1 671b36:0003
3669b594 68 PCI Dual-port 16550A adapter (:doc:`pci-serial`)
0c0e21d1 691b36:0004
3669b594 70 PCI Quad-port 16550A adapter (:doc:`pci-serial`)
0c0e21d1 711b36:0005
4d583093 72 PCI test device (:doc:`pci-testdev`)
0c0e21d1
PM
731b36:0006
74 PCI Rocker Ethernet switch device
751b36:0007
76 PCI SD Card Host Controller Interface (SDHCI)
771b36:0008
78 PCIe host bridge
791b36:0009
80 PCI Expander Bridge (-device pxb)
811b36:000a
82 PCI-PCI bridge (multiseat)
831b36:000b
84 PCIe Expander Bridge (-device pxb-pcie)
851b36:000d
86 PCI xhci usb host adapter
871b36:000f
88 mdpy (mdev sample device), ``linux/samples/vfio-mdev/mdpy.c``
891b36:0010
90 PCIe NVMe device (``-device nvme``)
911b36:0011
92 PCI PVPanic device (``-device pvpanic-pci``)
931b36:0012
94 PCI ACPI ERST device (``-device acpi-erst``)
bc4e68d3
JK
951b36:0013
96 PCI UFS device (``-device ufs``)
0c0e21d1
PM
97
98All these devices are documented in :doc:`index`.
99
100The 0100 device ID is used for the QXL video card device.