libnvme(2)

πŸ’– NAME πŸ’–

enum nvme_cmbmsc β€” bestie this is the field that tells you the controller memory buffer memory space control. yes it's a whole mouthful, we're getting through it together 🫢


✨ SYNOPSIS ✨

enum nvme_cmbmsc {
    NVME_CMBMSC_CRE_SHIFT ,
    NVME_CMBMSC_CMSE_SHIFT ,
    NVME_CMBMSC_CBA_SHIFT ,
    NVME_CMBMSC_CRE_MASK ,
    NVME_CMBMSC_CMSE_MASK

};

okay so it's an enum, it's giving very "five little constants that hold the whole thing together" energy πŸ’… no cap.


πŸŽ€ Constants πŸŽ€

  • NVME_CMBMSC_CRE_SHIFT β€” the shift amount you use to get the capabilities registers enabled. that's the CRE part, she's a shifter πŸ’«
  • NVME_CMBMSC_CMSE_SHIFT β€” the shift amount to get the controller memory space enable. literally the CMSE shift, iconic, no notes πŸ¦‹
  • NVME_CMBMSC_CBA_SHIFT β€” the shift amount to get the controller base address. CBA = controller base address, she's the address girlie ✨
  • NVME_CMBMSC_CRE_MASK β€” the mask to get the capabilities registers enabled. same CRE, but now she masks instead of shifts, periodt πŸŽ€
  • NVME_CMBMSC_CMSE_MASK β€” the mask to get the controller memory space enable. CMSE but masked this time, we love a consistent queen πŸ‘‘
lowkey the pattern here is shift vs mask for the same two things: capabilities registers enabled and controller memory space enable, plus one lone base-address shift. that's the whole vibe check, iykyk πŸ”₯

that's the tea, bestie β€” slay, go shift something πŸ’œ

this page came out of the API Manual for libnvme, it's the enum nvme_cmbmsc page, and it's dated July 2026. mwah, see u next manpage πŸŒΈπŸ’–

πŸ“¦ where this page comes from