aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKlaus Jensen <k.jensen@samsung.com>2021-11-22 23:22:27 +0100
committerKlaus Jensen <k.jensen@samsung.com>2022-02-14 08:58:29 +0100
commit6190d92ff70c177e901a85fe0c2da44e34c606f9 (patch)
tree698b735d5c14791954483eca0845be4d5f5f07b0 /include
parent8d3a17be6f556a996ab9404bead7fc58758c21eb (diff)
downloadqemu-6190d92ff70c177e901a85fe0c2da44e34c606f9.zip
qemu-6190d92ff70c177e901a85fe0c2da44e34c606f9.tar.gz
qemu-6190d92ff70c177e901a85fe0c2da44e34c606f9.tar.bz2
hw/nvme: add struct for zone management send
Add struct for Zone Management Send in preparation for more zone send flags. Reviewed-by: Keith Busch <kbusch@kernel.org> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Diffstat (limited to 'include')
-rw-r--r--include/block/nvme.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/block/nvme.h b/include/block/nvme.h
index e3bd47b..709d491 100644
--- a/include/block/nvme.h
+++ b/include/block/nvme.h
@@ -1433,6 +1433,21 @@ enum NvmeZoneType {
NVME_ZONE_TYPE_SEQ_WRITE = 0x02,
};
+typedef struct QEMU_PACKED NvmeZoneSendCmd {
+ uint8_t opcode;
+ uint8_t flags;
+ uint16_t cid;
+ uint32_t nsid;
+ uint32_t rsvd8[4];
+ NvmeCmdDptr dptr;
+ uint64_t slba;
+ uint32_t rsvd48;
+ uint8_t zsa;
+ uint8_t zsflags;
+ uint8_t rsvd54[2];
+ uint32_t rsvd56[2];
+} NvmeZoneSendCmd;
+
enum NvmeZoneSendAction {
NVME_ZONE_ACTION_RSD = 0x00,
NVME_ZONE_ACTION_CLOSE = 0x01,
@@ -1443,6 +1458,10 @@ enum NvmeZoneSendAction {
NVME_ZONE_ACTION_SET_ZD_EXT = 0x10,
};
+enum {
+ NVME_ZSFLAG_SELECT_ALL = 1 << 0,
+};
+
typedef struct QEMU_PACKED NvmeZoneDescr {
uint8_t zt;
uint8_t zs;