libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9) β€” struct nvme_mi_port_smb

okay so bestie, welcome to the API Manual page for libnvme, and today's main character is struct nvme_mi_port_smb β€” literally the SMBus Port Specific Data glow-up you didn't know you needed ✨


πŸŽ€ NAME πŸŽ€

struct nvme_mi_port_smb β€” SMBus Port Specific Data. that's it, that's the vibe πŸ¦‹


🌸 SYNOPSIS 🌸

here's the whole struct, copied exactly, no cap:

struct nvme_mi_port_smb {
    __u8 vpd_addr;
    __u8 mvpd_freq;
    __u8 mme_addr;
    __u8 mme_freq;
    __u8 nvmebm;
    __le32 pdas ;
    __u8 sdformat;
    __u8 rsvd18[14];
 };

look at her. iconic. πŸ’…


✨ Members ✨

  • vpd_addr β€” Current VPD SMBus/I2C Address 🫢 this is where the VPD is living rn
  • mvpd_freq β€” Maximum VPD Access SMBus/I2C Frequency. the maximum, bestie β€” don't go over it πŸ™ˆ
  • mme_addr β€” Current Management Endpoint SMBus/I2C Address πŸ‘‘ the management endpoint's current addy
  • mme_freq β€” Maximum Management Endpoint SMBus/I2C Frequency. again, maximum. respect the limit πŸ’€
  • nvmebm β€” NVMe Basic Management 🌈
  • pdas β€” PDA Size, the size of the NVMe-MI Persistent Data Area (PDA) is 2^pdas bytes; 0h indicates there is no NVMe-MI PDA 🧚 so like, it's an exponent situation β€” 2^pdas bytes β€” and 0h means nope, no NVMe-MI PDA here, not today
  • sdformat β€” Supported Data Format for the NVMe-MI PDA, see enum nvme_mi_port_sdformat πŸ“ go peek at the enum, iykyk
  • rsvd18 β€” Reserved πŸ’œ nothing to see here, move along, it's reserved
real talk: rsvd18 is reserved, so don't be out here writing your own lore into it, okay? 🫢

πŸ’– sign-off πŸ’–

that's the whole page, bestie β€” struct nvme_mi_port_smb, documented and slaying as ever. this absolute king is from the libnvme API Manual, dated October 2026, and it ate. periodt. β­πŸŽ€πŸ”₯

πŸ“¦ where this page comes from