summaryrefslogtreecommitdiffstats
path: root/hw/block/nvme.h
diff options
context:
space:
mode:
authorKlaus Jensen2020-07-06 08:12:52 +0200
committerKlaus Jensen2020-09-02 08:48:50 +0200
commit94a7897c41db0596c544af1bd27eedb833eae496 (patch)
tree8ac6eb2dcc30955805871cb1b2f451fb2d44c602 /hw/block/nvme.h
parenthw/block/nvme: mark fw slot 1 as read-only (diff)
downloadqemu-94a7897c41db0596c544af1bd27eedb833eae496.tar.gz
qemu-94a7897c41db0596c544af1bd27eedb833eae496.tar.xz
qemu-94a7897c41db0596c544af1bd27eedb833eae496.zip
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>
Diffstat (limited to 'hw/block/nvme.h')
-rw-r--r--hw/block/nvme.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index e3a2c907e2..8228978e93 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -98,6 +98,8 @@ typedef struct NvmeCtrl {
uint32_t irq_status;
uint64_t host_timestamp; /* Timestamp sent by the host */
uint64_t timestamp_set_qemu_clock_ms; /* QEMU clock time */
+ uint64_t starttime_ms;
+ uint16_t temperature;
HostMemoryBackend *pmrdev;