STRUCT PDS_CORE_DEV_INFO_REGS(9)
π 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's0x44455649β which is'DEVI'if you read it as characters π cute little easter egg frversionβ current version of the infoasic_typeβ the Asic typeasic_revβ the Asic revisionfw_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 β¨
- bit 0 β
fw_heartbeatβ firmware heartbeat counter π«Ά (it's counting, it's alive)fw_versionβ firmware versionserial_numβ serial numberoprom_regsβoprom_regsto store oprom debug enable/disable and bmprsvd_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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms