qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] hw/nvme: enhanced protection information (64-bit guard)
@ 2022-02-14 12:30 Klaus Jensen
  2022-02-14 12:30 ` [PATCH 1/6] hw/nvme: move dif/pi prototypes into dif.h Klaus Jensen
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Klaus Jensen @ 2022-02-14 12:30 UTC (permalink / raw)
  To: Keith Busch, qemu-devel
  Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen, Naveen Nagar,
	Philippe Mathieu-Daudé, Hanna Reitz, Stefan Hajnoczi,
	Klaus Jensen

From: Klaus Jensen <k.jensen@samsung.com>

This adds support for one possible new protection information format
introduced in TP4068 (and integrated in NVMe 2.0): the 64-bit CRC guard
and 48-bit reference tag. This version does not support storage tags.

Like the CRC16 support already present, this uses a software
implementation of CRC64 (so it is naturally pretty slow). But its good
enough for verification purposes.

This goes hand-in-hand with the support that Keith submitted for the
Linux kernel[1].

[1]: https://lore.kernel.org/linux-nvme/20220201190128.3075065-1-kbusch@kernel.org/

Klaus Jensen (3):
  hw/nvme: move dif/pi prototypes into dif.h
  hw/nvme: move format parameter parsing
  hw/nvme: add pi tuple size helper

Naveen Nagar (3):
  hw/nvme: add host behavior support feature
  hw/nvme: add support for the lbafee hbs feature
  hw/nvme: 64-bit pi support

 hw/nvme/ctrl.c       | 235 +++++++++++++++++++++------
 hw/nvme/dif.c        | 378 +++++++++++++++++++++++++++++++++----------
 hw/nvme/dif.h        | 191 ++++++++++++++++++++++
 hw/nvme/ns.c         |  27 +++-
 hw/nvme/nvme.h       |  58 +------
 hw/nvme/trace-events |  12 +-
 include/block/nvme.h |  81 ++++++++--
 7 files changed, 774 insertions(+), 208 deletions(-)
 create mode 100644 hw/nvme/dif.h

-- 
2.35.1



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

end of thread, other threads:[~2022-02-16 21:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-14 12:30 [PATCH 0/6] hw/nvme: enhanced protection information (64-bit guard) Klaus Jensen
2022-02-14 12:30 ` [PATCH 1/6] hw/nvme: move dif/pi prototypes into dif.h Klaus Jensen
2022-02-14 12:30 ` [PATCH 2/6] hw/nvme: add host behavior support feature Klaus Jensen
2022-02-14 12:30 ` [PATCH 3/6] hw/nvme: move format parameter parsing Klaus Jensen
2022-02-14 12:30 ` [PATCH 4/6] hw/nvme: add support for the lbafee hbs feature Klaus Jensen
2022-02-14 12:30 ` [PATCH 5/6] hw/nvme: add pi tuple size helper Klaus Jensen
2022-02-14 12:30 ` [PATCH 6/6] hw/nvme: 64-bit pi support Klaus Jensen
2022-02-16 21:20   ` Keith Busch
2022-02-16 21:26 ` [PATCH 0/6] hw/nvme: enhanced protection information (64-bit guard) Keith Busch

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).