On Sep 22 10:45, Klaus Jensen wrote: > 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 v3 > ~~~~~~~~~~~~~~ > > * hw/block/nvme: handle dma errors > Do not retry DMA, just set Controller Fatal Status (CFS). This causes > the Linux kernel to most likely disable the controller when running the > blktests block/011 test case, which causes some havoc when running > blktests, but I have submitted a patch for blktests to fix this. (Keith) > > * hw/block/nvme: refactor aio submission > Dropped the unneeded nvme_req_is_write function. (Keith) > > * Added R-b's from Keith and Philippe. > > 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 | 83 +++- > include/block/nvme.h | 6 +- > include/hw/pci/pci.h | 4 +- > hw/block/nvme-ns.c | 167 ++++++++ > hw/block/nvme.c | 848 ++++++++++++++++++++++++++++++----------- > hw/core/machine.c | 1 + > MAINTAINERS | 1 + > hw/block/meson.build | 2 +- > hw/block/trace-events | 23 +- > 12 files changed, 978 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 >
Pushed to nvme-next. Thanks for the reviews everyone. I think I posted the first version of this more than a year ago. This feels so good!
signature.asc
Description: PGP signature