Message ID | 20200204095208.269131-24-k.jensen@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nvme: support NVMe v1.3d, SGLs and multiple namespaces | expand |
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 <k.jensen@samsung.com> > --- > 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 <hare@suse.com> > diff --git a/docs/specs/nvme.txt b/docs/specs/nvme.txt > new file mode 100644 > index 000000000000..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_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 Other than the actual ID assignment which is not something I can approve/allocate: Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Best regards, Maxim Levitsky
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 <hare@suse.com> diff --git a/docs/specs/nvme.txt b/docs/specs/nvme.txt new file mode 100644 index 000000000000..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/ 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_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
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> --- 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