On Tue, 2020-02-04 at 10:52 +0100, Klaus Jensen wrote:
> 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
> ---
> MAINTAINERS| 1 +
> docs/specs/nvme.txt| 10 ++
> docs/specs/pci-ids.txt | 1 +
> include/hw/pci/pci.h | 1 +
> 4 files changed, 13 insertions(+)
> create mode 100644 docs/specs/nvme.txt
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1f0bc72f2189..14a018e9c0ae 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1645,6 +1645,7 @@ L: qemu-block@nongnu.org
> S: Supported
> F: hw/block/nvme*
> F: tests/qtest/nvme-test.c
> +F: docs/specs/nvme.txt
>
> megasas
> M: Hannes Reinecke
> diff --git a/docs/specs/nvme.txt b/docs/specs/nvme.txt
> new file mode 100644
> index ..6ec7ddbc7ee0
> --- /dev/null
> +++ b/docs/specs/nvme.txt
> @@ -0,0 +1,10 @@
> +NVM Express Controller
> +==
> +
> +The nvme device (-device nvme) emulates an NVM Express Controller.
> +
> +
> +Reference Specifications
> +
> +
> + https://nvmexpress.org/resources/specifications/
Nitpick: maybe mention the nvme version here, plus some TODOs that are left?
> diff --git a/docs/specs/pci-ids.txt b/docs/specs/pci-ids.txt
> index 4d53e5c7d9d5..abbdbca6be38 100644
> --- a/docs/specs/pci-ids.txt
> +++ b/docs/specs/pci-ids.txt
> @@ -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.
>
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index b5013b834b20..9a20c309d0f2 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -103,6 +103,7 @@ extern bool pci_available;
> #define PCI_DEVICE_ID_REDHAT_XHCI0x000d
> #define PCI_DEVICE_ID_REDHAT_PCIE_BRIDGE 0x000e
> #define PCI_DEVICE_ID_REDHAT_MDPY0x000f
> +#define PCI_DEVICE_ID_REDHAT_NVME0x0010
> #define PCI_DEVICE_ID_REDHAT_QXL 0x0100
>
> #define FMT_PCIBUS PRIx64
Other than the actual ID assignment which is not something
I can approve/allocate:
Reviewed-by: Maxim Levitsky
Best regards,
Maxim Levitsky