STRUCT PDS_CORE_HOST_MEM_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct pds_core_host_mem_cmd(9) πŸ’–

ok so bestie, welcome to the Kernel API Manual β€” yes we're reading kernel docs together, it's giving study date energy and honestly? iconic. πŸŽ€


✨ NAME ✨

struct pds_core_host_mem_cmd β€” the HOST_MEM command, aka the one struct that does all the host memory things. main character energy fr fr πŸ’…


🌸 SYNOPSIS 🌸

struct pds_core_host_mem_cmd {
    u8 opcode;
    u8 oper;
    __le16 index;
    __le16 tag;
    u8 reason;
    u8 rsvd;
    __le32 max_contig;
    __le32 size;
    __le64 buf_pa;
 };

look at that layout, so tidy, so slay ✨


πŸ¦‹ Members πŸ¦‹

okay so let's go field by field, no skipping, we're thorough in this house 🫢

  • opcode β€” the opcode, and it's PDS_CORE_CMD_HOST_MEM. that's the whole vibe check for this struct.
  • oper β€” the operation, typed as enum pds_core_host_mem_oper. this is the "what are we even doing" field πŸ’«
  • index β€” the memory request index. and heads up, it moonlights: with GET_COUNT it's max_count, with QUERY it's index. multitasking queen πŸ‘‘
  • tag β€” the tag for this memory request, used with ADD/DEL.
  • reason β€” why we're deleting this (so DEL only, okurrr).
  • rsvd β€” reserved. it just sits there. we respect it. πŸͺ‘
  • max_contig β€” maximum contiguous memory size, and that's GET_COUNT only.
  • size β€” size of the memory in bytes, ADD only.
  • buf_pa β€” the DMA address of the memory, ADD only. yes it's __le64, no we're not scared πŸ’€

🧚 Description 🧚

so this is the unified command for all host memory operations. one struct, many jobs. the fields get reused across operations to minimize opcode space usage β€” lowkey genius, highkey efficient, we stan a resourceful icon 🌈⭐

bestie note: since the fields are reused per-operation, always double-check which op you're running before you go reading a field, iykyk πŸ™ˆ

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./include/linux/pds/pds_core_if.h 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_comp(9), struct pds_core_dev_hwstamp_regs(9), struct pds_core_dev_info_regs(9), struct pds_core_dev_cmd_regs(9), struct pds_core_dev_regs(9)

like, that's the whole friend group right there, go say hi πŸ«ΆπŸ’–


and that's a wrap bestie!! πŸŽ€ this page came from ./include/linux/pds, dated October 2026, and it's literally titled struct pds_c...host_mem_cmd(9) β€” screenshot it, memorize it, slay the exam πŸ’…βœ¨πŸ”₯

πŸ“¦ where this page comes from