STRUCT PDS_FWCTL_IDENT_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct pds_fwctl_ident_cmd(9) πŸŽ€

okay so bestie, welcome to the Kernel API Manual page for struct pds_fwctl_ident_cmd β€” it's the ✨ Firmware control identification command structure ✨ and honestly it's giving "small struct, big job" energy. Let's get into it πŸ’…


✨ SYNOPSIS ✨

like literally, here's the whole shape of it, no cap:

struct pds_fwctl_ident_cmd {
    u8 opcode;
    u8 rsvd;
    u8 version;
    u8 rsvd2;
    __le32 len;
    __le64 ident_pa;
 };

🌸 Members 🌸

okay so each field is a whole little moment, let's go one by one, fr fr:

  • opcode β€” the operation code for the command. it's literally telling you what this command even is 🫢
  • rsvd β€” reserved. bestie, do not touch, do not write, it's not for you πŸ™ˆ
  • version β€” the interface version ✨ (yes it gets its own field, main character energy)
  • rsvd2 β€” also reserved. yes there are two of them. it's a whole thing πŸ’€ leave it alone
  • len β€” length of the identification data πŸ“
  • ident_pa β€” physical address of the identification data πŸ”₯ (physical, okay? not virtual. we said what we said)

πŸ¦‹ SEE ALSO πŸ¦‹

this is the part where the page pops off and links basically the entire PDS universe, iykyk 🌈 first up, the source of truth:

  • Kernel file ./include/linux/pds/pds_adminq.h struct

and then the whole friend group, in exactly this order:

  • pds_core_notifyq_event(9)
  • struct pds_core_link_change_event(9)
  • struct pds_core_reset_event(9)
  • struct pds_core_client_event(9)
  • struct pds_core_notifyq_cmd(9)
  • struct pds_core_client_reg_cmd(9)
  • struct pds_core_client_reg_comp(9)
  • struct pds_core_client_unreg_cmd(9)
  • struct pds_core_client_request_cmd(9)
  • enum pds_core_logical_qtype(9)
  • union pds_core_lif_config(9)
  • struct pds_core_lif_status(9)
  • struct pds_core_lif_info(9)
  • struct pds_core_lif_identity(9)
  • struct pds_core_lif_identify_cmd(9)
  • struct pds_core_lif_identify_comp(9)
  • struct pds_core_lif_init_cmd(9)
  • struct pds_core_lif_init_comp(9)
  • struct pds_core_lif_reset_cmd(9)
  • enum pds_core_lif_attr(9)
  • struct pds_core_lif_setattr_cmd(9)
  • struct pds_core_lif_setattr_comp(9)
  • struct pds_core_lif_getattr_cmd(9)
  • struct pds_core_lif_getattr_comp(9)
  • struct pds_core_q_identity(9)
  • struct pds_core_q_identify_cmd(9)
  • struct pds_core_q_identify_comp(9)
  • struct pds_core_q_init_cmd(9)
  • struct pds_core_q_init_comp(9)
  • struct pds_vdpa_cmd(9)
  • struct pds_vdpa_init_cmd(9)
  • struct pds_vdpa_ident(9)
  • struct pds_vdpa_ident_cmd(9)
  • struct pds_vdpa_status_cmd(9)
  • enum pds_vdpa_attr(9)
  • struct pds_vdpa_setattr_cmd(9)
  • struct pds_vdpa_vq_init_cmd(9)
  • struct pds_vdpa_vq_init_comp(9)
  • struct pds_vdpa_vq_reset_cmd(9)
  • struct pds_vdpa_vq_reset_comp(9)
  • struct pds_vdpa_set_features_cmd(9)
  • struct pds_lm_cmd(9)
  • struct pds_lm_state_size_cmd(9)
  • struct pds_lm_state_size_comp(9)
  • struct pds_lm_suspend_cmd(9)
  • struct pds_lm_suspend_status_cmd(9)
  • struct pds_lm_resume_cmd(9)
  • struct pds_lm_sg_elem(9)
  • struct pds_lm_save_cmd(9)
  • struct pds_lm_restore_cmd(9)
  • union pds_lm_dev_state(9)
  • struct pds_lm_dirty_region_info(9)
  • struct pds_lm_dirty_status_cmd(9)
  • enum pds_lm_dirty_bmp_type(9)
  • struct pds_lm_dirty_status_comp(9)
  • struct pds_lm_dirty_enable_cmd(9)
  • struct pds_lm_dirty_disable_cmd(9)
  • struct pds_lm_dirty_seq_ack_cmd(9)
  • struct pds_lm_host_vf_status_cmd(9)
  • struct pds_fwctl_cmd(9)
  • struct pds_fwctl_comp(9)
  • struct pds_fwctl_ident(9)
  • struct pds_fwctl_query_cmd(9)
  • struct pds_fwctl_query_comp(9)
  • struct pds_fwctl_query_data_endpoint(9)
  • struct pds_fwctl_query_data_operation(9)
  • struct pds_fwctl_query_data(9)
  • struct pds_fwctl_rpc_cmd(9)
  • struct pds_sg_elem(9)
  • struct pds_fwctl_rpc_comp(9)

like, that's the whole roster. go read them too, they're all slay πŸ’–


okay real talk, the only "caveat" this page gives you is inline: rsvd and rsvd2 are reserved β€” so don't be cute, don't fill them in, just leave them be πŸ™ˆ and remember ident_pa is a physical address, not a virtual one.

and that's the page bestie!! wrapping it up with the little sign-off from the footer: this one lives under ./include/linux/pds, it's dated October 2026, and it's filed in the Kernel API Manual alongside its page-name twin struct pds_fwctl_ident_cmd(9). drink water, mind your reserved fields, mwah πŸ˜­πŸ’œπŸ“

πŸ“¦ where this page comes from