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
--
2.27.0