qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/17] hw/block/nvme: multiple namespaces support
@ 2020-09-22  8:45 Klaus Jensen
  2020-09-22  8:45 ` [PATCH v3 01/17] hw/block/nvme: fix typo in trace event Klaus Jensen
                   ` (18 more replies)
  0 siblings, 19 replies; 24+ messages in thread
From: Klaus Jensen @ 2020-09-22  8:45 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Eduardo Habkost, qemu-block, Michael S. Tsirkin,
	Klaus Jensen, Max Reitz, Keith Busch, Klaus Jensen

From: Klaus Jensen <k.jensen@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



^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-10-23  6:33 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-22  8:45 [PATCH v3 00/17] hw/block/nvme: multiple namespaces support Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 01/17] hw/block/nvme: fix typo in trace event Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 02/17] pci: pass along the return value of dma_memory_rw Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 03/17] hw/block/nvme: handle dma errors Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 04/17] hw/block/nvme: commonize nvme_rw error handling Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 05/17] hw/block/nvme: alignment style fixes Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 06/17] hw/block/nvme: add a lba to bytes helper Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 07/17] hw/block/nvme: fix endian conversion Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 08/17] hw/block/nvme: add symbolic command name to trace events Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 09/17] hw/block/nvme: refactor aio submission Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 10/17] hw/block/nvme: default request status to success Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 11/17] hw/block/nvme: harden cmb access Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 12/17] hw/block/nvme: add support for scatter gather lists Klaus Jensen
2020-10-22 20:51   ` Philippe Mathieu-Daudé
2020-10-23  6:27     ` Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 13/17] hw/block/nvme: add support for sgl bit bucket descriptor Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 14/17] hw/block/nvme: refactor identify active namespace id list Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 15/17] hw/block/nvme: support multiple namespaces Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 16/17] pci: allocate pci id for nvme Klaus Jensen
2020-09-22  8:45 ` [PATCH v3 17/17] hw/block/nvme: change controller pci id Klaus Jensen
2020-09-22 15:31 ` [PATCH v3 00/17] hw/block/nvme: multiple namespaces support Keith Busch
2020-09-22 17:27   ` Klaus Jensen
2020-09-22 17:34     ` Keith Busch
2020-09-23 19:19 ` Klaus Jensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).