libnvme(9)
π¦ NAME π¦
okay so welcome to the libnvme(9) API Manual, bestie π β this page is literally all about enum nvme_cap, and this field indicates the controller capabilities register. That's the vibe: controller capabilities decoded into shift amounts, masks, and a few iconic named values β¨.
β¨ SYNOPSIS β¨
here's the enum in all its glory β every constant exactly where it belongs, no cap π
enum nvme_cap {
NVME_CAP_MQES_SHIFT ,
NVME_CAP_CQR_SHIFT ,
NVME_CAP_AMS_SHIFT ,
NVME_CAP_TO_SHIFT ,
NVME_CAP_DSTRD_SHIFT ,
NVME_CAP_NSSRS_SHIFT ,
NVME_CAP_CSS_SHIFT ,
NVME_CAP_BPS_SHIFT ,
NVME_CAP_CPS_SHIFT ,
NVME_CAP_MPSMIN_SHIFT ,
NVME_CAP_MPSMAX_SHIFT ,
NVME_CAP_PMRS_SHIFT ,
NVME_CAP_CMBS_SHIFT ,
NVME_CAP_NSSS_SHIFT ,
NVME_CAP_CRMS_SHIFT ,
NVME_CAP_NSSES_SHIFT ,
NVME_CAP_MQES_MASK ,
NVME_CAP_CQR_MASK ,
NVME_CAP_AMS_MASK ,
NVME_CAP_TO_MASK ,
NVME_CAP_DSTRD_MASK ,
NVME_CAP_NSSRS_MASK ,
NVME_CAP_CSS_MASK ,
NVME_CAP_BPS_MASK ,
NVME_CAP_CPS_MASK ,
NVME_CAP_MPSMIN_MASK ,
NVME_CAP_MPSMAX_MASK ,
NVME_CAP_PMRS_MASK ,
NVME_CAP_CMBS_MASK ,
NVME_CAP_NSSS_MASK ,
NVME_CAP_CRMS_MASK ,
NVME_CAP_NSSES_MASK ,
NVME_CAP_AMS_WRR ,
NVME_CAP_AMS_VS ,
NVME_CAP_CSS_NVM ,
NVME_CAP_CSS_CSI ,
NVME_CAP_CSS_ADMIN ,
NVME_CAP_CPS_NONE ,
NVME_CAP_CPS_CTRL ,
NVME_CAP_CPS_DOMAIN ,
NVME_CAP_CPS_NVMS ,
NVME_CAP_CRWMS ,
NVME_CAP_CRIMS
};
π Constants π
okay bestie, here's the full lineup β no skips, no shortcuts, we're getting every single one π
NVME_CAP_MQES_SHIFTβ shift amount to get the maximum queue entries supported πNVME_CAP_CQR_SHIFTβ shift amount to get the contiguous queues requiredNVME_CAP_AMS_SHIFTβ shift amount to get the arbitration mechanism supportedNVME_CAP_TO_SHIFTβ shift amount to get the timeoutNVME_CAP_DSTRD_SHIFTβ shift amount to get the doorbell strideNVME_CAP_NSSRS_SHIFTβ shift amount to get the NVM subsystem reset supportedNVME_CAP_CSS_SHIFTβ shift amount to get the command sets supportedNVME_CAP_BPS_SHIFTβ shift amount to get the boot partition supportNVME_CAP_CPS_SHIFTβ shift amount to get the controller power scopeNVME_CAP_MPSMIN_SHIFTβ shift amount to get the memory page size minimumNVME_CAP_MPSMAX_SHIFTβ shift amount to get the memory page size maximumNVME_CAP_PMRS_SHIFTβ shift amount to get the persistent memory region supportedNVME_CAP_CMBS_SHIFTβ shift amount to get the controller memory buffer supportedNVME_CAP_NSSS_SHIFTβ shift amount to get the NVM subsystem shutdown supportedNVME_CAP_CRMS_SHIFTβ shift amount to get the controller ready modes supportedNVME_CAP_NSSES_SHIFTβ shift amount to get the NVM subsystem shutdown enhancements supported β¨NVME_CAP_MQES_MASKβ mask to get the maximum queue entries supportedNVME_CAP_CQR_MASKβ mask to get the contiguous queues requiredNVME_CAP_AMS_MASKβ mask to get the arbitration mechanism supportedNVME_CAP_TO_MASKβ mask to get the timeoutNVME_CAP_DSTRD_MASKβ mask to get the doorbell strideNVME_CAP_NSSRS_MASKβ mask to get the NVM subsystem reset supportedNVME_CAP_CSS_MASKβ mask to get the command sets supportedNVME_CAP_BPS_MASKβ mask to get the boot partition supportNVME_CAP_CPS_MASKβ mask to get the controller power scopeNVME_CAP_MPSMIN_MASKβ mask to get the memory page size minimumNVME_CAP_MPSMAX_MASKβ mask to get the memory page size maximumNVME_CAP_PMRS_MASKβ mask to get the persistent memory region supportedNVME_CAP_CMBS_MASKβ mask to get the controller memory buffer supportedNVME_CAP_NSSS_MASKβ mask to get the NVM subsystem shutdown supportedNVME_CAP_CRMS_MASKβ mask to get the controller ready modes supportedNVME_CAP_NSSES_MASKβ mask to get the NVM subsystem shutdown enhancements supportedNVME_CAP_AMS_WRRβ weighted round robin with urgent priority class π₯NVME_CAP_AMS_VSβ vendor specificNVME_CAP_CSS_NVMβ NVM command set or a discovery controllerNVME_CAP_CSS_CSIβ controller supports one or more I/O command setsNVME_CAP_CSS_ADMINβ no I/O command set is supportedNVME_CAP_CPS_NONEβ not reportedNVME_CAP_CPS_CTRLβ controller scopeNVME_CAP_CPS_DOMAINβ domain scopeNVME_CAP_CPS_NVMSβ NVM subsystem scopeNVME_CAP_CRWMSβ controller ready with media supportNVME_CAP_CRIMSβ controller ready independent of media support π
mwah π β signed, sealed, and slayed by libnvme(9), October 2026, all about enum nvme_cap π«Ά
π¦ 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