qemu-e2k/hw/nvme
Naveen Nagar 44219b6029 hw/nvme: 64-bit pi support
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 may go nicely hand-in-hand with the support that Keith submitted
for the Linux kernel[1].

  [1]: https://lore.kernel.org/linux-nvme/20220126165214.GA1782352@dhcp-10-100-145-180.wdc.com/T/

Reviewed-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Naveen Nagar <naveen.n1@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
2022-03-03 09:30:21 +01:00
..
Kconfig hw/nvme: move nvme emulation out of hw/block 2021-05-17 09:19:00 +02:00
ctrl.c hw/nvme: 64-bit pi support 2022-03-03 09:30:21 +01:00
dif.c hw/nvme: 64-bit pi support 2022-03-03 09:30:21 +01:00
dif.h hw/nvme: 64-bit pi support 2022-03-03 09:30:21 +01:00
meson.build hw/nvme: move nvme emulation out of hw/block 2021-05-17 09:19:00 +02:00
ns.c hw/nvme: 64-bit pi support 2022-03-03 09:30:21 +01:00
nvme.h hw/nvme: 64-bit pi support 2022-03-03 09:30:21 +01:00
subsys.c hw/nvme: reattach subsystem namespaces on hotplug 2021-11-19 07:31:34 +01:00
trace-events hw/nvme: 64-bit pi support 2022-03-03 09:30:21 +01:00
trace.h hw/nvme: move nvme emulation out of hw/block 2021-05-17 09:19:00 +02:00