[PATCH v3 0/4] hw/nvme: fix broken shadow doorbells on some platforms

Klaus Jensen posted 4 patches 1 year, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221212113215.33135-1-its@irrelevant.dk
Maintainers: Keith Busch <kbusch@kernel.org>, Klaus Jensen <its@irrelevant.dk>
There is a newer version of this series
hw/nvme/ctrl.c       | 121 ++++++++++++++++++++++++++-----------------
hw/nvme/trace-events |   8 +--
2 files changed, 78 insertions(+), 51 deletions(-)
[PATCH v3 0/4] hw/nvme: fix broken shadow doorbells on some platforms
Posted by Klaus Jensen 1 year, 4 months ago
From: Klaus Jensen <k.jensen@samsung.com>

Guenter reports that hw/nvme is broken on riscv64[1] and big endian
platforms[2].

This is a regression since 7.1, so this does not warrent an rc5 for 7.2.
I'm sure Guenter can carry this patch in his tree, and maybe we can get
this out in a stable release.

On riscv, the issue is a missing cq eventidx update. I really wonder why
this issue only shows up on riscv64. We have not observed this on other
platforms (yet).

Further, Guenter also reported problems on big-endian platforms. The
issue here is missing endian conversions which patch 3 addresses. This
also requires a fix for the Linux kernel that I am posting separately
(can't link to it, chicken and egg problem).

  [1]: https://lore.kernel.org/qemu-devel/20221207174918.GA1151796@roeck-us.net/
  [2]: https://lore.kernel.org/qemu-devel/20221209110022.GA3396194@roeck-us.net/

v3:
 - add patch to fix big-endian platforms

v2:
 - use QOM accessor (Philippe)
 - added some cleanup patches in front

Klaus Jensen (4):
  hw/nvme: use QOM accessors
  hw/nvme: rename shadow doorbell related trace events
  hw/nvme: fix missing endian conversions for doorbell buffers
  hw/nvme: fix missing cq eventidx update

 hw/nvme/ctrl.c       | 121 ++++++++++++++++++++++++++-----------------
 hw/nvme/trace-events |   8 +--
 2 files changed, 78 insertions(+), 51 deletions(-)

-- 
2.38.1