[PULL v2 00/38] emulated nvme device updates

Klaus Jensen posted 38 patches 3 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210309114512.536489-1-its@irrelevant.dk
Maintainers: Keith Busch <kbusch@kernel.org>, Klaus Jensen <its@irrelevant.dk>, Max Reitz <mreitz@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Fam Zheng <fam@euphon.net>, Kevin Wolf <kwolf@redhat.com>
hw/block/nvme-ns.h     |   13 +
hw/block/nvme-subsys.h |   60 ++
hw/block/nvme.h        |   63 +-
include/block/nvme.h   |   88 ++-
hw/block/nvme-ns.c     |   38 +-
hw/block/nvme-subsys.c |  116 ++++
hw/block/nvme.c        | 1443 +++++++++++++++++++++++++++++-----------
hw/block/meson.build   |    2 +-
hw/block/trace-events  |   21 +-
9 files changed, 1447 insertions(+), 397 deletions(-)
create mode 100644 hw/block/nvme-subsys.h
create mode 100644 hw/block/nvme-subsys.c
[PULL v2 00/38] emulated nvme device updates
Posted by Klaus Jensen 3 years, 1 month ago
From: Klaus Jensen <k.jensen@samsung.com>

The following changes since commit 229a834518b950d56fd1bc94923276504d0ee9d4:

  Merge remote-tracking branch 'remotes/philmd-gitlab/tags/renesas-20210306' into staging (2021-03-08 15:45:48 +0000)

are available in the Git repository at:

  git://git.infradead.org/qemu-nvme.git tags/nvme-next-pull-request

for you to fetch changes up to 23fb7dfeca17c55e4329ca98459d33fc204c1f59:

  hw/block/nvme: support Identify NS Attached Controller List (2021-03-09 11:00:58 +0100)

----------------------------------------------------------------
hw/block/nvme updates

* NVMe subsystem support (`-device nvme-subsys`) (Minwoo Im)
* Namespace (De|At)tachment support (Minwoo Im)
* Simple Copy command support (Klaus Jensen)
* Flush broadcast support (Gollu Appalanaidu)
* QEMUIOVector/QEMUSGList duality refactoring (Klaus Jensen)

plus various fixes from Minwoo, Gollu, Dmitry and me.

v2:
  - add `nqn` nvme-subsys device parameter instead of using `id`.
    (Paolo)

----------------------------------------------------------------

Dmitry Fomichev (1):
  hw/block/nvme: fix Close Zone

Gollu Appalanaidu (7):
  hw/block/nvme: use locally assigned QEMU IEEE OUI
  hw/block/nvme: add broadcast nsid support flush command
  hw/block/nvme: remove unnecessary endian conversion
  hw/block/nvme: add identify trace event
  hw/block/nvme: fix potential compilation error
  hw/block/nvme: add trace event for zone read check
  hw/block/nvme: report non-mdts command size limit for dsm

Klaus Jensen (16):
  hw/block/nvme: remove unused parameter in check zone write
  hw/block/nvme: refactor zone resource management
  hw/block/nvme: pull write pointer advancement to separate function
  nvme: updated shared header for copy command
  hw/block/nvme: add simple copy command
  hw/block/nvme: add missing mor/mar constraint checks
  hw/block/nvme: improve invalid zasl value reporting
  hw/block/nvme: document 'mdts' nvme device parameter
  hw/block/nvme: deduplicate bad mdts trace event
  hw/block/nvme: align zoned.zasl with mdts
  hw/block/nvme: remove redundant len member in compare context
  hw/block/nvme: remove block accounting for write zeroes
  hw/block/nvme: fix strerror printing
  hw/block/nvme: try to deal with the iov/qsg duality
  hw/block/nvme: remove the req dependency in map functions
  hw/block/nvme: refactor nvme_dma

Minwoo Im (14):
  hw/block/nvme: introduce nvme-subsys device
  hw/block/nvme: support to map controller to a subsystem
  hw/block/nvme: add CMIC enum value for Identify Controller
  hw/block/nvme: support for multi-controller in subsystem
  hw/block/nvme: add NMIC enum value for Identify Namespace
  hw/block/nvme: support for shared namespace in subsystem
  hw/block/nvme: support namespace detach
  hw/block/nvme: fix namespaces array to 1-based
  hw/block/nvme: fix allocated namespace list to 256
  hw/block/nvme: support allocated namespace type
  hw/block/nvme: refactor nvme_select_ns_iocs
  hw/block/nvme: support namespace attachment command
  hw/block/nvme: support changed namespace asynchronous event
  hw/block/nvme: support Identify NS Attached Controller List

 hw/block/nvme-ns.h     |   13 +
 hw/block/nvme-subsys.h |   60 ++
 hw/block/nvme.h        |   63 +-
 include/block/nvme.h   |   88 ++-
 hw/block/nvme-ns.c     |   38 +-
 hw/block/nvme-subsys.c |  116 ++++
 hw/block/nvme.c        | 1443 +++++++++++++++++++++++++++++-----------
 hw/block/meson.build   |    2 +-
 hw/block/trace-events  |   21 +-
 9 files changed, 1447 insertions(+), 397 deletions(-)
 create mode 100644 hw/block/nvme-subsys.h
 create mode 100644 hw/block/nvme-subsys.c

-- 
2.30.1


Re: [PULL v2 00/38] emulated nvme device updates
Posted by Peter Maydell 3 years, 1 month ago
On Tue, 9 Mar 2021 at 11:45, Klaus Jensen <its@irrelevant.dk> wrote:
>
> From: Klaus Jensen <k.jensen@samsung.com>
>
> The following changes since commit 229a834518b950d56fd1bc94923276504d0ee9d4:
>
>   Merge remote-tracking branch 'remotes/philmd-gitlab/tags/renesas-20210306' into staging (2021-03-08 15:45:48 +0000)
>
> are available in the Git repository at:
>
>   git://git.infradead.org/qemu-nvme.git tags/nvme-next-pull-request
>
> for you to fetch changes up to 23fb7dfeca17c55e4329ca98459d33fc204c1f59:
>
>   hw/block/nvme: support Identify NS Attached Controller List (2021-03-09 11:00:58 +0100)
>
> ----------------------------------------------------------------
> hw/block/nvme updates
>
> * NVMe subsystem support (`-device nvme-subsys`) (Minwoo Im)
> * Namespace (De|At)tachment support (Minwoo Im)
> * Simple Copy command support (Klaus Jensen)
> * Flush broadcast support (Gollu Appalanaidu)
> * QEMUIOVector/QEMUSGList duality refactoring (Klaus Jensen)
>
> plus various fixes from Minwoo, Gollu, Dmitry and me.
>
> v2:
>   - add `nqn` nvme-subsys device parameter instead of using `id`.
>     (Paolo)


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/6.0
for any user-visible changes.

-- PMM