aliguori | 44d3749 | 2008-12-17 21:32:37 +0000 | [diff] [blame] | 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 |
Paolo Bonzini | 4ea9296 | 2012-12-13 10:19:35 +0100 | [diff] [blame] | 6 | virtual devices. The vendor IDs are 1af4 (formerly Qumranet ID) and 1b36. |
aliguori | 44d3749 | 2008-12-17 21:32:37 +0000 | [diff] [blame] | 7 | |
Paolo Bonzini | 4ea9296 | 2012-12-13 10:19:35 +0100 | [diff] [blame] | 8 | Contact Gerd Hoffmann <kraxel@redhat.com> to get a device ID assigned |
| 9 | for your devices. |
aliguori | 44d3749 | 2008-12-17 21:32:37 +0000 | [diff] [blame] | 10 | |
Paolo Bonzini | 4ea9296 | 2012-12-13 10:19:35 +0100 | [diff] [blame] | 11 | 1af4 vendor ID |
| 12 | -------------- |
aliguori | 44d3749 | 2008-12-17 21:32:37 +0000 | [diff] [blame] | 13 | |
Paolo Bonzini | 4ea9296 | 2012-12-13 10:19:35 +0100 | [diff] [blame] | 14 | The 1000 -> 10ff device ID range is used as follows for virtio-pci devices. |
| 15 | Note that this allocation separate from the virtio device IDs, which are |
| 16 | maintained as part of the virtio specification. |
aliguori | 44d3749 | 2008-12-17 21:32:37 +0000 | [diff] [blame] | 17 | |
Gerd Hoffmann | b63283d | 2016-03-09 13:03:11 +0100 | [diff] [blame] | 18 | 1af4:1000 network device (legacy) |
| 19 | 1af4:1001 block device (legacy) |
| 20 | 1af4:1002 balloon device (legacy) |
| 21 | 1af4:1003 console device (legacy) |
| 22 | 1af4:1004 SCSI host bus adapter device (legacy) |
| 23 | 1af4:1005 entropy generator device (legacy) |
| 24 | 1af4:1009 9p filesystem device (legacy) |
Gerd Hoffmann | 55f01e7 | 2022-10-04 13:20:59 +0200 | [diff] [blame] | 25 | 1af4:1012 vsock device (bug compatibility) |
Gerd Hoffmann | b63283d | 2016-03-09 13:03:11 +0100 | [diff] [blame] | 26 | |
Gerd Hoffmann | 55f01e7 | 2022-10-04 13:20:59 +0200 | [diff] [blame] | 27 | 1af4: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 |
| 29 | 1af4: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/. |
aliguori | 44d3749 | 2008-12-17 21:32:37 +0000 | [diff] [blame] | 33 | |
| 34 | 1af4:10f0 Available for experimental usage without registration. Must get |
| 35 | to official ID when the code leaves the test lab (i.e. when seeking |
| 36 | 1af4:10ff upstream merge or shipping a distro/product) to avoid conflicts. |
| 37 | |
Paolo Bonzini | 4ea9296 | 2012-12-13 10:19:35 +0100 | [diff] [blame] | 38 | 1af4:1100 Used as PCI Subsystem ID for existing hardware devices emulated |
| 39 | by qemu. |
| 40 | |
Philippe Mathieu-Daudé | 25e11d8 | 2017-07-28 19:46:07 -0300 | [diff] [blame] | 41 | 1af4:1110 ivshmem device (shared memory, docs/specs/ivshmem-spec.txt) |
Paolo Bonzini | b8ef62a | 2012-12-13 10:19:37 +0100 | [diff] [blame] | 42 | |
Paolo Bonzini | 4ea9296 | 2012-12-13 10:19:35 +0100 | [diff] [blame] | 43 | All other device IDs are reserved. |
Paolo Bonzini | 5c03a25 | 2012-12-13 10:19:38 +0100 | [diff] [blame] | 44 | |
| 45 | 1b36 vendor ID |
| 46 | -------------- |
| 47 | |
| 48 | The 0000 -> 00ff device ID range is used as follows for QEMU-specific |
| 49 | PCI devices (other than virtio): |
| 50 | |
| 51 | 1b36:0001 PCI-PCI bridge |
| 52 | 1b36:0002 PCI serial port (16550A) adapter (docs/specs/pci-serial.txt) |
| 53 | 1b36:0003 PCI Dual-port 16550A adapter (docs/specs/pci-serial.txt) |
| 54 | 1b36:0004 PCI Quad-port 16550A adapter (docs/specs/pci-serial.txt) |
Kevin O'Connor | ece5e5b | 2014-12-08 18:10:32 -0500 | [diff] [blame] | 55 | 1b36:0005 PCI test device (docs/specs/pci-testdev.txt) |
Scott Feldman | 5dcc263 | 2015-03-13 21:09:28 -0700 | [diff] [blame] | 56 | 1b36:0006 PCI Rocker Ethernet switch device |
Scott Feldman | 5aa8136 | 2014-12-29 21:14:02 -0800 | [diff] [blame] | 57 | 1b36:0007 PCI SD Card Host Controller Interface (SDHCI) |
Gerd Hoffmann | a4d79c3 | 2017-01-11 12:02:22 +0100 | [diff] [blame] | 58 | 1b36:0008 PCIe host bridge |
| 59 | 1b36:0009 PCI Expander Bridge (-device pxb) |
Gerd Hoffmann | eb6c6a6 | 2015-06-18 12:17:29 +0200 | [diff] [blame] | 60 | 1b36:000a PCI-PCI bridge (multiseat) |
Gerd Hoffmann | a4d79c3 | 2017-01-11 12:02:22 +0100 | [diff] [blame] | 61 | 1b36:000b PCIe Expander Bridge (-device pxb-pcie) |
Gerd Hoffmann | 72a810f | 2017-02-06 12:55:37 +0100 | [diff] [blame] | 62 | 1b36:000d PCI xhci usb host adapter |
Gerd Hoffmann | 50a6fa8 | 2018-04-24 08:38:57 +0200 | [diff] [blame] | 63 | 1b36:000f mdpy (mdev sample device), linux/samples/vfio-mdev/mdpy.c |
Klaus Jensen | c1e1824 | 2020-01-13 19:12:50 +0100 | [diff] [blame] | 64 | 1b36:0010 PCIe NVMe device (-device nvme) |
Mihai Carabas | d097b3d | 2021-01-27 16:59:28 +0200 | [diff] [blame] | 65 | 1b36:0011 PCI PVPanic device (-device pvpanic-pci) |
Ani Sinha | 1665b4d | 2022-02-23 20:03:18 +0530 | [diff] [blame] | 66 | 1b36:0012 PCI ACPI ERST device (-device acpi-erst) |
Paolo Bonzini | 5c03a25 | 2012-12-13 10:19:38 +0100 | [diff] [blame] | 67 | |
| 68 | All these devices are documented in docs/specs. |
| 69 | |
| 70 | The 0100 device ID is used for the QXL video card device. |