mbox series

[0/4] hw/block/nvme: support multiple namespaces

Message ID 20200629204327.1239520-1-its@irrelevant.dk
Headers show
Series hw/block/nvme: support multiple namespaces | expand

Message

Klaus Jensen June 29, 2020, 8:43 p.m. UTC
From: Klaus Jensen <k.jensen@samsung.com>

This adds a new 'nvme-ns' device that attaches to the nvme device
through a bus. This decouples the nvme controller and nvme namespaces
such that multiple namespaces may be attached to the controller.

With this in place, we can allocate a fresh pci vendor/device id and get
rid of the Intel id pair that causes the Linux kernel to apply a bunch
of quirks that the device no longer has.

Based-on: <20200629203155.1236860-1-its@irrelevant.dk>
("[PATCH 0/3] hw/block/nvme: support scatter gather lists")

Klaus Jensen (4):
  hw/block/nvme: refactor identify active namespace id list
  hw/block/nvme: support multiple namespaces
  pci: allocate pci id for nvme
  hw/block/nvme: change controller pci id

 MAINTAINERS            |   1 +
 docs/specs/nvme.txt    |  23 ++++
 docs/specs/pci-ids.txt |   1 +
 hw/block/Makefile.objs |   2 +-
 hw/block/nvme-ns.c     | 172 ++++++++++++++++++++++++++
 hw/block/nvme-ns.h     |  66 ++++++++++
 hw/block/nvme.c        | 273 +++++++++++++++++++++++++++--------------
 hw/block/nvme.h        |  45 +++----
 hw/block/trace-events  |   8 +-
 hw/core/machine.c      |   1 +
 include/hw/pci/pci.h   |   1 +
 11 files changed, 472 insertions(+), 121 deletions(-)
 create mode 100644 docs/specs/nvme.txt
 create mode 100644 hw/block/nvme-ns.c
 create mode 100644 hw/block/nvme-ns.h