pci: allocate pci id for nvme

The emulated nvme device (hw/block/nvme.c) is currently using an
internal Intel device id.

Prepare to change that by allocating a device id under the 1b36 (Red
Hat, Inc.) vendor id.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
Klaus Jensen 2020-01-13 19:12:50 +01:00
parent 7f0f1acedf
commit c1e1824661
4 changed files with 26 additions and 0 deletions

View File

@ -1877,6 +1877,7 @@ L: qemu-block@nongnu.org
S: Supported
F: hw/block/nvme*
F: tests/qtest/nvme-test.c
F: docs/specs/nvme.txt
T: git git://git.infradead.org/qemu-nvme.git nvme-next
megasas

23
docs/specs/nvme.txt Normal file
View File

@ -0,0 +1,23 @@
NVM Express Controller
======================
The nvme device (-device nvme) emulates an NVM Express Controller.
Reference Specifications
------------------------
The device currently implements most mandatory features of NVMe v1.3d, see
https://nvmexpress.org/resources/specifications/
for the specification.
Known issues
------------
* The accounting numbers in the SMART/Health are reset across power cycles
* Interrupt Coalescing is not supported and is disabled by default in volation
of the specification.

View File

@ -63,6 +63,7 @@ PCI devices (other than virtio):
1b36:000b PCIe Expander Bridge (-device pxb-pcie)
1b36:000d PCI xhci usb host adapter
1b36:000f mdpy (mdev sample device), linux/samples/vfio-mdev/mdpy.c
1b36:0010 PCIe NVMe device (-device nvme)
All these devices are documented in docs/specs.

View File

@ -106,6 +106,7 @@ extern bool pci_available;
#define PCI_DEVICE_ID_REDHAT_XHCI 0x000d
#define PCI_DEVICE_ID_REDHAT_PCIE_BRIDGE 0x000e
#define PCI_DEVICE_ID_REDHAT_MDPY 0x000f
#define PCI_DEVICE_ID_REDHAT_NVME 0x0010
#define PCI_DEVICE_ID_REDHAT_QXL 0x0100
#define FMT_PCIBUS PRIx64