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 two new features: * support for scatter/gather lists * multiple namespaces support through a new nvme-ns device Finally, the series wraps up 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. Changes for v2 ~~~~~~~~~~~~~~ * Added a new patch ("hw/block/nvme: fix typo in trace event") that does what it says on the tin. * Dropped the "hw/block/nvme: support multiple parallel aios per request" patch (Keith). * hw/block/nvme: add symbolic command name to trace events Changed to single quote (Philippe) * hw/block/nvme: default request status to success Commit message typo fixed (Philippe) * hw/block/nvme: change controller pci id Do NOT bump the device id for the legacy Intel id (David) Gollu Appalanaidu (1): hw/block/nvme: add support for sgl bit bucket descriptor Klaus Jensen (16): hw/block/nvme: fix typo in trace event 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: 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 docs/specs/nvme.txt | 23 ++ docs/specs/pci-ids.txt | 1 + hw/block/nvme-ns.h | 74 ++++ hw/block/nvme.h | 94 ++++- include/block/nvme.h | 6 +- include/hw/pci/pci.h | 4 +- hw/block/nvme-ns.c | 167 ++++++++ hw/block/nvme.c | 846 ++++++++++++++++++++++++++++++----------- hw/core/machine.c | 1 + MAINTAINERS | 1 + hw/block/meson.build | 2 +- hw/block/trace-events | 22 +- 12 files changed, 986 insertions(+), 255 deletions(-) create mode 100644 docs/specs/nvme.txt create mode 100644 hw/block/nvme-ns.h create mode 100644 hw/block/nvme-ns.c -- 2.28.0