blob: e463c4cb3a22a1edb8e853179ac02dc09b7b1a59 [file] [log] [blame]
aliguori44d37492008-12-17 21:32:37 +00001
2PCI IDs for qemu
3================
4
5Red Hat, Inc. donates a part of its device ID range to qemu, to be used for
Paolo Bonzini4ea92962012-12-13 10:19:35 +01006virtual devices. The vendor IDs are 1af4 (formerly Qumranet ID) and 1b36.
aliguori44d37492008-12-17 21:32:37 +00007
Paolo Bonzini4ea92962012-12-13 10:19:35 +01008Contact Gerd Hoffmann <kraxel@redhat.com> to get a device ID assigned
9for your devices.
aliguori44d37492008-12-17 21:32:37 +000010
Paolo Bonzini4ea92962012-12-13 10:19:35 +0100111af4 vendor ID
12--------------
aliguori44d37492008-12-17 21:32:37 +000013
Paolo Bonzini4ea92962012-12-13 10:19:35 +010014The 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.
aliguori44d37492008-12-17 21:32:37 +000017
Gerd Hoffmannb63283d2016-03-09 13:03:11 +0100181af4: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)
Gerd Hoffmann55f01e72022-10-04 13:20:59 +0200251af4:1012 vsock device (bug compatibility)
Gerd Hoffmannb63283d2016-03-09 13:03:11 +010026
Gerd Hoffmann55f01e72022-10-04 13:20:59 +0200271af4: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/.
aliguori44d37492008-12-17 21:32:37 +000033
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
Paolo Bonzini4ea92962012-12-13 10:19:35 +0100381af4:1100 Used as PCI Subsystem ID for existing hardware devices emulated
39 by qemu.
40
Philippe Mathieu-Daudé25e11d82017-07-28 19:46:07 -0300411af4:1110 ivshmem device (shared memory, docs/specs/ivshmem-spec.txt)
Paolo Bonzinib8ef62a2012-12-13 10:19:37 +010042
Paolo Bonzini4ea92962012-12-13 10:19:35 +010043All other device IDs are reserved.
Paolo Bonzini5c03a252012-12-13 10:19:38 +010044
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)
Kevin O'Connorece5e5b2014-12-08 18:10:32 -0500551b36:0005 PCI test device (docs/specs/pci-testdev.txt)
Scott Feldman5dcc2632015-03-13 21:09:28 -0700561b36:0006 PCI Rocker Ethernet switch device
Scott Feldman5aa81362014-12-29 21:14:02 -0800571b36:0007 PCI SD Card Host Controller Interface (SDHCI)
Gerd Hoffmanna4d79c32017-01-11 12:02:22 +0100581b36:0008 PCIe host bridge
591b36:0009 PCI Expander Bridge (-device pxb)
Gerd Hoffmanneb6c6a62015-06-18 12:17:29 +0200601b36:000a PCI-PCI bridge (multiseat)
Gerd Hoffmanna4d79c32017-01-11 12:02:22 +0100611b36:000b PCIe Expander Bridge (-device pxb-pcie)
Gerd Hoffmann72a810f2017-02-06 12:55:37 +0100621b36:000d PCI xhci usb host adapter
Gerd Hoffmann50a6fa82018-04-24 08:38:57 +0200631b36:000f mdpy (mdev sample device), linux/samples/vfio-mdev/mdpy.c
Klaus Jensenc1e18242020-01-13 19:12:50 +0100641b36:0010 PCIe NVMe device (-device nvme)
Mihai Carabasd097b3d2021-01-27 16:59:28 +0200651b36:0011 PCI PVPanic device (-device pvpanic-pci)
Ani Sinha1665b4d2022-02-23 20:03:18 +0530661b36:0012 PCI ACPI ERST device (-device acpi-erst)
Paolo Bonzini5c03a252012-12-13 10:19:38 +010067
68All these devices are documented in docs/specs.
69
70The 0100 device ID is used for the QXL video card device.