| 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 (:doc:`ivshmem-spec`) |
| 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:000c |
| 86 | PCIe Root Port (``-device pcie-root-port``) |
| 87 | 1b36:000d |
| 88 | PCI xhci usb host adapter |
| 89 | 1b36:000e |
| 90 | PCIe-to-PCI bridge (``-device pcie-pci-bridge``) |
| 91 | 1b36:000f |
| 92 | mdpy (mdev sample device), ``linux/samples/vfio-mdev/mdpy.c`` |
| 93 | 1b36:0010 |
| 94 | PCIe NVMe device (``-device nvme``) |
| 95 | 1b36:0011 |
| 96 | PCI PVPanic device (``-device pvpanic-pci``) |
| 97 | 1b36:0012 |
| 98 | PCI ACPI ERST device (``-device acpi-erst``) |
| 99 | 1b36:0013 |
| 100 | PCI UFS device (``-device ufs``) |
| 101 | 1b36:0014 |
| 102 | PCI RISC-V IOMMU device |
| 103 | |
| 104 | All these devices are documented in :doc:`index`. |
| 105 | |
| 106 | The 0100 device ID is used for the QXL video card device. |