[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH 04/16] nvme: add missing fields in identify controll
From: |
Klaus Birkelund Jensen |
Subject: |
[Qemu-block] [PATCH 04/16] nvme: add missing fields in identify controller |
Date: |
Fri, 5 Jul 2019 09:23:21 +0200 |
Not used by the device model but added for completeness. See NVM Express
1.2.1, Section 5.11 ("Identify command"), Figure 90.
Signed-off-by: Klaus Birkelund Jensen <address@hidden>
---
include/block/nvme.h | 34 +++++++++++++++++++++++++++++-----
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/include/block/nvme.h b/include/block/nvme.h
index 3ec8efcc435e..1b0accd4fe2b 100644
--- a/include/block/nvme.h
+++ b/include/block/nvme.h
@@ -543,7 +543,13 @@ typedef struct NvmeIdCtrl {
uint8_t ieee[3];
uint8_t cmic;
uint8_t mdts;
- uint8_t rsvd255[178];
+ uint16_t cntlid;
+ uint32_t ver;
+ uint16_t rtd3r;
+ uint32_t rtd3e;
+ uint32_t oaes;
+ uint32_t ctratt;
+ uint8_t rsvd255[156];
uint16_t oacs;
uint8_t acl;
uint8_t aerl;
@@ -551,10 +557,22 @@ typedef struct NvmeIdCtrl {
uint8_t lpa;
uint8_t elpe;
uint8_t npss;
- uint8_t rsvd511[248];
+ uint8_t avscc;
+ uint8_t apsta;
+ uint16_t wctemp;
+ uint16_t cctemp;
+ uint16_t mtfa;
+ uint32_t hmpre;
+ uint32_t hmmin;
+ uint8_t tnvmcap[16];
+ uint8_t unvmcap[16];
+ uint32_t rpmbs;
+ uint8_t rsvd319[4];
+ uint16_t kas;
+ uint8_t rsvd511[190];
uint8_t sqes;
uint8_t cqes;
- uint16_t rsvd515;
+ uint16_t maxcmd;
uint32_t nn;
uint16_t oncs;
uint16_t fuses;
@@ -562,8 +580,14 @@ typedef struct NvmeIdCtrl {
uint8_t vwc;
uint16_t awun;
uint16_t awupf;
- uint8_t rsvd703[174];
- uint8_t rsvd2047[1344];
+ uint8_t nvscc;
+ uint8_t rsvd531;
+ uint16_t acwu;
+ uint16_t rsvd535;
+ uint32_t sgls;
+ uint8_t rsvd767[228];
+ uint8_t subnqn[256];
+ uint8_t rsvd2047[1024];
NvmePSD psd[32];
uint8_t vs[1024];
} NvmeIdCtrl;
--
2.20.1
- [Qemu-block] [PATCH 00/16] nvme: support NVMe v1.3d, SGLs and multiple namespaces, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 01/16] nvme: simplify namespace code, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 03/16] nvme: fix lpa field, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 06/16] nvme: support completion queue in cmb, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 02/16] nvme: move device parameters to separate struct, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 04/16] nvme: add missing fields in identify controller,
Klaus Birkelund Jensen <=
- [Qemu-block] [PATCH 10/16] nvme: support Get Log Page command, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 09/16] nvme: support Asynchronous Event Request command, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 07/16] nvme: support Abort command, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 05/16] nvme: populate the mandatory subnqn and ver fields, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 08/16] nvme: refactor device realization, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 12/16] nvme: bump supported NVMe revision to 1.3d, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 15/16] nvme: support scatter gather lists, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 11/16] nvme: add missing mandatory Features, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 13/16] nvme: simplify dma/cmb mappings, Klaus Birkelund Jensen, 2019/07/05
- [Qemu-block] [PATCH 14/16] nvme: support multiple block requests per request, Klaus Birkelund Jensen, 2019/07/05