libnvme(9) API Manual libnvme(9)

struct nvme_tdisp_device_interface_report - NVMe TDISP DEVICE_INTERFACE_REPORT Reporting Structure

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];
};

TDISP NVMe Identifier, shall be NVME_TDISP_NVME_IDENTIFIER
TDISP Information, see enum nvme_tdisp_ti
CSVL Used, the Controller State Version Index of the NVMe Controller State data structure used to generate qh
VER Used, the Version field in the NVMe Controller State data structure used to generate qh
Reserved
AQA Value
ASQ Value
ACQ Value
CMBMSC Value
PMRMSC Value
PMRCTL Value
Queue Hash, a SHA-384 hash of all the fields in the NVMe Controller State data structure, see struct nvme_lm_controller_state_data
Reserved

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.

struct nvme_tdisp_device_interface_report October 2026