libnvme(9)
π NAME π
Okay bestie, welcome to the libnvme(9) page π. This one is all about struct nvme_tdisp_device_interface_report β the NVMe TDISP DEVICE_INTERFACE_REPORT Reporting Structure. Yes, that is a whole mouthful, and yes, we are going to decode it together π
β¨.
β¨ 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, and it shall beNVME_TDISP_NVME_IDENTIFIER. Periodt π .tiβ TDISP Information, seeenum nvme_tdisp_ti. Go peek at the enum, iykyk π.cuβ CSVL Used: the Controller State Version Index of the NVMe Controller State data structure used to generateqh. Very main character bookkeeping energy β¨.vuβ VER Used: the Version field in the NVMe Controller State data structure used to generateqh. Matching vibes withcu, fr fr π¦.rsvd10β Reserved. Nothing to see here, bestie π.aqvβ AQA Value. That's the whole tea β.asvβ ASQ Value. Noted and slaying π.acvβ ACQ Value. Also noted π.cvβ CMBMSC Value. Yup, exactly that π«.pmvβ PMRMSC Value. Keep it moving πΈ.pcvβ PMRCTL Value. Iconic little field name π.qhβ Queue Hash: a SHA-384 hash of all the fields in the NVMe Controller State data structure, seestruct nvme_lm_controller_state_data. Obsessed with a good hash, ngl π₯.rsvd84β Reserved. More padding, more chill π.
π Description π
So picture this π«Ά: this struct 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 for the full lore π.
And no cap: 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. The way that this type is provided is 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. It's giving "decoder helper with zero NVMe command drama," and honestly? We respect it π.
That's the whole page, bestie π«Ά. Source/version tea: this is libnvme(9) from the API Manual, the page is struct nvme_tdisp_device_interface_report, and the date at the very end is October 2026 β¨π.
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms