nvme_spec: add Transport SGL Data Block descriptor

Defined in ratified NVMe 1.3 TP 4008 (2017-08-22).

Change-Id: I42479c8a0acbdc1a2df54061ffbc12a54385cd94
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/409059
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
This commit is contained in:
Daniel Verkamp 2018-04-10 16:41:03 -07:00 committed by Ben Walker
parent d08917d89e
commit dc09939226
2 changed files with 6 additions and 2 deletions

View File

@ -944,6 +944,8 @@ print_controller(struct spdk_nvme_ctrlr *ctrlr, const struct spdk_nvme_transport
cdata->sgls.metadata_address ? "Supported" : "Not Supported"); cdata->sgls.metadata_address ? "Supported" : "Not Supported");
printf(" SGL Offset: %s\n", printf(" SGL Offset: %s\n",
cdata->sgls.sgl_offset ? "Supported" : "Not Supported"); cdata->sgls.sgl_offset ? "Supported" : "Not Supported");
printf(" Transport SGL Data Block: %s\n",
cdata->sgls.transport_sgl ? "Supported" : "Not Supported");
printf("\n"); printf("\n");
printf("Firmware Slot Information\n"); printf("Firmware Slot Information\n");

View File

@ -375,7 +375,8 @@ enum spdk_nvme_sgl_descriptor_type {
SPDK_NVME_SGL_TYPE_SEGMENT = 0x2, SPDK_NVME_SGL_TYPE_SEGMENT = 0x2,
SPDK_NVME_SGL_TYPE_LAST_SEGMENT = 0x3, SPDK_NVME_SGL_TYPE_LAST_SEGMENT = 0x3,
SPDK_NVME_SGL_TYPE_KEYED_DATA_BLOCK = 0x4, SPDK_NVME_SGL_TYPE_KEYED_DATA_BLOCK = 0x4,
/* 0x5 - 0xE reserved */ SPDK_NVME_SGL_TYPE_TRANSPORT_DATA_BLOCK = 0x5,
/* 0x6 - 0xE reserved */
SPDK_NVME_SGL_TYPE_VENDOR_SPECIFIC = 0xF SPDK_NVME_SGL_TYPE_VENDOR_SPECIFIC = 0xF
}; };
@ -1203,7 +1204,8 @@ struct __attribute__((packed)) spdk_nvme_ctrlr_data {
uint32_t oversized_sgl : 1; uint32_t oversized_sgl : 1;
uint32_t metadata_address : 1; uint32_t metadata_address : 1;
uint32_t sgl_offset : 1; uint32_t sgl_offset : 1;
uint32_t reserved2: 11; uint32_t transport_sgl : 1;
uint32_t reserved2 : 10;
} sgls; } sgls;
uint8_t reserved4[228]; uint8_t reserved4[228];