From: Klaus Jensen <k.jen...@samsung.com> This is the next round of my patches for the nvme device.
This includes a bit of cleanup and three new features: * refactored aio submission This also adds support for multiple parallel AIOs per request which is in preparation for DULBE, ZNS and metadata support. If it is found controversial, it can easily be dropped from this series. * support for scatter/gather lists * multiple namespaces support through a new nvme-ns device Finally, the series ends with changing the PCI vendor and device ID to get rid of the internal Intel id and as a side-effect get rid of some Linux kernel quirks that no longer applies. "pci: pass along the return value of dma_memory_rw" has already been posted by Philippe in another series, but since it is not applied yet, I am including it here. Gollu Appalanaidu (1): hw/block/nvme: add support for sgl bit bucket descriptor Klaus Jensen (16): pci: pass along the return value of dma_memory_rw hw/block/nvme: handle dma errors hw/block/nvme: commonize nvme_rw error handling hw/block/nvme: alignment style fixes hw/block/nvme: add a lba to bytes helper hw/block/nvme: fix endian conversion hw/block/nvme: add symbolic command name to trace events hw/block/nvme: refactor aio submission hw/block/nvme: default request status to success hw/block/nvme: support multiple parallel aios per request hw/block/nvme: harden cmb access hw/block/nvme: add support for scatter gather lists 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/meson.build | 2 +- hw/block/nvme-ns.c | 185 +++++++++ hw/block/nvme-ns.h | 74 ++++ hw/block/nvme.c | 923 +++++++++++++++++++++++++++++++---------- hw/block/nvme.h | 126 +++++- hw/block/trace-events | 21 +- hw/core/machine.c | 1 + include/block/nvme.h | 8 +- include/hw/pci/pci.h | 4 +- 12 files changed, 1108 insertions(+), 261 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.28.0