STRUCT PDS_CORE_DEV_INFO_REGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

so this is struct pds_core_dev_info_regs β€” the device info register format, and it's read-only bestie, you're just looking, not touching ✨

fr fr this is from the Kernel API Manual, section 9, and the page is literally titled struct pds_...ev_info_regs(9) β€” yes the name is truncated in the header, iconic behavior honestly πŸ’…

🌸 SYNOPSIS 🌸

like, here's the whole struct, exactly as it lives, no cap:

struct pds_core_dev_info_regs {
  #define PDS_CORE_DEVINFO_FWVERS_BUFLEN 32;
  #define PDS_CORE_DEVINFO_SERIAL_BUFLEN 32;
    u32 signature;
    u8 version;
    u8 asic_type;
    u8 asic_rev;
  #define PDS_CORE_FW_STS_F_STOPPED       0x00;
  #define PDS_CORE_FW_STS_F_RUNNING       0x01;
  #define PDS_CORE_FW_STS_F_GENERATION    0xF0;
    u8 fw_status;
    __le32 fw_heartbeat;
    char fw_version[PDS_CORE_DEVINFO_FWVERS_BUFLEN];
    char serial_num[PDS_CORE_DEVINFO_SERIAL_BUFLEN];
    u8 oprom_regs[32];
    u8 rsvd_pad1024[916];
    struct pds_core_dev_hwstamp_regs hwstamp;
    u8 rsvd_pad2048[1016];
 };

πŸ‘‘ Members πŸ‘‘

okay let's go through the whole cast of characters one by one, no skipping 🫢

  • signature β€” the signature value, and it's 0x44455649 β€” which is 'DEVI' if you read it as characters πŸ’€ cute little easter egg fr
  • version β€” current version of the info
  • asic_type β€” the Asic type
  • asic_rev β€” the Asic revision
  • fw_status β€” the firmware status flags, and this one's got layers:
    • bit 0 β†’ 1 = fw running
    • bits 4-7 β†’ the 4 bit generation number, which changes on fw restart ✨
  • fw_heartbeat β€” firmware heartbeat counter 🫢 (it's counting, it's alive)
  • fw_version β€” firmware version
  • serial_num β€” serial number
  • oprom_regs β€” oprom_regs to store oprom debug enable/disable and bmp
  • rsvd_pad1024 β€” struct padding (filler, it's giving background character energy)
  • hwstamp β€” hardware current timestamp registers πŸŽ€
  • rsvd_pad2048 β€” struct padding again, we love a consistent king

πŸ¦‹ SEE ALSO πŸ¦‹

it lives in the kernel file ./include/linux/pds/pds_core_if.h, and here is the entire friend group, like the whole group chat, nobody gets left out πŸ’œ

struct pds_core_drv_identity(9), enum pds_core_dev_capability(9), struct pds_core_dev_identity(9), struct pds_core_dev_identify_cmd(9), struct pds_core_dev_identify_comp(9), struct pds_core_dev_reset_cmd(9), struct pds_core_dev_reset_comp(9), struct pds_core_dev_init_cmd(9), struct pds_core_dev_init_comp(9), struct pds_core_fw_download_cmd(9), struct pds_core_fw_download_comp(9), enum pds_core_fw_control_oper(9), enum pds_core_fw_slot(9), struct pds_core_fw_control_cmd(9), struct pds_core_fw_control_comp(9), enum pds_core_vf_link_status(9), struct pds_core_vf_setattr_cmd(9), struct pds_core_vf_getattr_cmd(9), struct pds_core_vf_ctrl_cmd(9), struct pds_core_vf_ctrl_comp(9), struct pds_core_send_pkg_data_cmd(9), struct pds_core_send_pkg_data_comp(9), struct pds_core_component_tbl(9), struct pds_core_send_component_tbl_cmd(9), struct pds_core_send_component_tbl_comp(9), enum pds_core_send_component_op(9), struct pds_core_flash_component(9), struct pds_core_send_component_cmd(9), struct pds_core_send_component_comp(9), enum pds_core_fw_component_type(9), enum pds_core_component_info_flags(9), struct pds_core_fw_component_info(9), struct pds_core_component_list_info(9), struct pds_core_get_component_info_cmd(9), struct pds_core_get_component_info_comp(9), struct pds_core_finalize_update_cmd(9), struct pds_core_finalize_update_comp(9), struct pds_core_match_record_desc_cmd(9), struct pds_core_match_record_desc_comp(9), enum pds_core_host_mem_oper(9), struct pds_core_host_mem_cmd(9), struct pds_core_host_mem_comp(9), struct pds_core_dev_hwstamp_regs(9), struct pds_core_dev_cmd_regs(9), struct pds_core_dev_regs(9)


and that's the whole page bestie, you ate that πŸ’…βœ¨

cute little sign-off: this one comes from ./include/linux/pds, dated October 2026, and the footer's still repping struct pds_...ev_info_regs(9) like the main character it is πŸ‘‘πŸŒΈ

πŸ“¦ where this page comes from