Reference

nvme_tdisp_device_interface_report-libnvme3(2)

NVMe TDISP DEVICE_INTERFACE_REPORT Reporting Structure

NAME

struct nvme_tdisp_device_interface_report - NVMe TDISP DEVICE_INTERFACE_REPORT Reporting Structure

SYNOPSIS

struct nvme_tdisp_device_interface_report {
__le32 tni;
__le32 ti;
__u8 cu;
__u8 vu;
__u8 rsvd10[2];
__le32 aqv;
__le32 asv;
__le32 acv;
__le32 cv;
__le32 pmv;
__le32 pcv;
__u8 qh[48];
__u8 rsvd84[44];
};

Members

tni

TDISP NVMe Identifier, shall be NVME_TDISP_NVME_IDENTIFIER

ti

TDISP Information, see enum nvme_tdisp_ti

cu

CSVL Used, the Controller State Version Index of the NVMe Controller State data structure used to generate qh

vu

VER Used, the Version field in the NVMe Controller State data structure used to generate qh

rsvd10

Reserved

aqv

AQA Value

asv

ASQ Value

acv

ACQ Value

cv

CMBMSC Value

pmv

PMRMSC Value

pcv

PMRCTL Value

qh

Queue Hash, a SHA-384 hash of all the fields in the NVMe Controller State data structure, see struct nvme_lm_controller_state_data

rsvd84

Reserved

Description

This is the NVMe class-specific DEVICE_SPECIFIC_INFO payload that a PCIe Function returns in response to a PCIe TDISP GET_DEVICE_INTERFACE_REPORT request (refer to the NVM Express over PCIe Transport Specification). There is no NVMe Admin, I/O, or MI command that transfers this structure -- it is produced by the device's Device Security Module and consumed by a platform TEE Security Module entirely via the PCIe TDISP protocol, outside of any NVMe command/response mechanism. This type is provided purely so that software which has otherwise obtained a DEVICE_INTERFACE_REPORT (e.g., from a TDISP/SPDM stack) can decode its NVMe-specific portion.