qemu-e2k/hw/block
Klaus Jensen 94a7897c41 hw/block/nvme: add support for the get log page command
Add support for the Get Log Page command and basic implementations of
the mandatory Error Information, SMART / Health Information and Firmware
Slot Information log pages.

In violation of the specification, the SMART / Health Information log
page does not persist information over the lifetime of the controller
because the device has no place to store such persistent state.

Note that the LPA field in the Identify Controller data structure
intentionally has bit 0 cleared because there is no namespace specific
information in the SMART / Health information log page.

Required for compliance with NVMe revision 1.3d. See NVM Express 1.3d,
Section 5.14 ("Get Log Page command").

Signed-off-by: Klaus Jensen <klaus.jensen@cnexlabs.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200706061303.246057-8-its@irrelevant.dk>
2020-09-02 08:48:50 +02:00
..
dataplane meson: convert hw/block 2020-08-21 06:30:32 -04:00
Kconfig hw/m68k: add a dummy SWIM floppy controller 2019-10-28 19:06:51 +01:00
block.c block: make BlockConf size props 32bit and accept size suffixes 2020-06-17 14:53:40 +02:00
cdrom.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ecc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
fdc.c error: Eliminate error_propagate() manually 2020-07-10 15:18:08 +02:00
hd-geometry.c block: Remove blk_pread_unthrottled() 2019-08-16 10:25:16 +02:00
m25p80.c m25p80: Improve command handling for unsupported commands 2020-03-17 11:36:42 +00:00
meson.build meson: convert hw/block 2020-08-21 06:30:32 -04:00
nand.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
nvme.c hw/block/nvme: add support for the get log page command 2020-09-02 08:48:50 +02:00
nvme.h hw/block/nvme: add support for the get log page command 2020-09-02 08:48:50 +02:00
onenand.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pflash_cfi01.c hw: Remove superfluous breaks 2020-09-01 08:38:00 +02:00
pflash_cfi02.c pflash: Use ERRP_GUARD() 2020-07-10 15:18:09 +02:00
swim.c swim: Rename struct SWIM to Swim 2020-08-27 14:04:55 -04:00
tc58128.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
trace-events hw/block/nvme: add support for the get log page command 2020-09-02 08:48:50 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user-blk.c vhost-user-blk-pci: default num_queues to -smp N 2020-08-27 08:29:13 -04:00
virtio-blk.c virtio-blk-pci: default num_queues to -smp N 2020-08-27 08:29:13 -04:00
xen-block.c xen: Use ERRP_GUARD() 2020-07-10 15:18:09 +02:00
xen_blkif.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00