aboutsummaryrefslogtreecommitdiff
path: root/include/block
diff options
context:
space:
mode:
authorNaveen Nagar <naveen.n1@samsung.com>2021-10-06 08:50:49 +0200
committerKlaus Jensen <k.jensen@samsung.com>2022-03-03 09:28:48 +0100
commitd0c0697b9ef2045375e08aadb81f94b8d63ecf25 (patch)
tree1fef82ffb8cc606c19578892c1968dc0fd459776 /include/block
parent05f7ae45c84f0df6934afea5013c333d269e2225 (diff)
downloadqemu-d0c0697b9ef2045375e08aadb81f94b8d63ecf25.zip
qemu-d0c0697b9ef2045375e08aadb81f94b8d63ecf25.tar.gz
qemu-d0c0697b9ef2045375e08aadb81f94b8d63ecf25.tar.bz2
hw/nvme: add host behavior support feature
Add support for getting and setting the Host Behavior Support feature. 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>
Diffstat (limited to 'include/block')
-rw-r--r--include/block/nvme.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/block/nvme.h b/include/block/nvme.h
index cd068ac..e527c72 100644
--- a/include/block/nvme.h
+++ b/include/block/nvme.h
@@ -1216,6 +1216,7 @@ enum NvmeFeatureIds {
NVME_WRITE_ATOMICITY = 0xa,
NVME_ASYNCHRONOUS_EVENT_CONF = 0xb,
NVME_TIMESTAMP = 0xe,
+ NVME_HOST_BEHAVIOR_SUPPORT = 0x16,
NVME_COMMAND_SET_PROFILE = 0x19,
NVME_SOFTWARE_PROGRESS_MARKER = 0x80,
NVME_FID_MAX = 0x100,
@@ -1257,6 +1258,13 @@ typedef struct QEMU_PACKED NvmeRangeType {
uint8_t rsvd48[16];
} NvmeRangeType;
+typedef struct NvmeHostBehaviorSupport {
+ uint8_t acre;
+ uint8_t etdas;
+ uint8_t lbafee;
+ uint8_t rsvd3[509];
+} NvmeHostBehaviorSupport;
+
typedef struct QEMU_PACKED NvmeLBAF {
uint16_t ms;
uint8_t ds;
@@ -1520,6 +1528,7 @@ static inline void _nvme_check_size(void)
QEMU_BUILD_BUG_ON(sizeof(NvmeDsmCmd) != 64);
QEMU_BUILD_BUG_ON(sizeof(NvmeCopyCmd) != 64);
QEMU_BUILD_BUG_ON(sizeof(NvmeRangeType) != 64);
+ QEMU_BUILD_BUG_ON(sizeof(NvmeHostBehaviorSupport) != 512);
QEMU_BUILD_BUG_ON(sizeof(NvmeErrorLog) != 64);
QEMU_BUILD_BUG_ON(sizeof(NvmeFwSlotInfoLog) != 512);
QEMU_BUILD_BUG_ON(sizeof(NvmeSmartLog) != 512);