STRUCT HAM_SETUP_SHARED_MEMORY_REQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct ham_setup_shared_memory_req β€” NAME πŸŽ€

okay bestie, welcome to the Kernel API Manual ✨ β€” this page is literally all about struct ham_setup_shared_memory_req, aka the shared memory setup request. that's it, that's the vibe. it's the lil message you send when you want shared memory set up, and we're gonna go through every single field together, no skipping πŸ’…


✨ SYNOPSIS ✨

struct ham_setup_shared_memory_req {
    u32 msg_id;
    u16 ver;
    u16 reserved;
    u64 buffer_physical_address;
    u32 host_to_fw_section_length;
    u32 fw_to_host_section_length;
    u32 control_length;
 };

like, look at her. seven fields. she's iconic, she's compact, she's ready to be filled in 🫢


πŸ¦‹ Members β€” yes every single one, i would never gatekeep

  • msg_id β€” the message id, and it should be HAM_CB_MESSAGE_ID_REQ. not "could be", not "maybe" β€” should. ok? 😌
  • ver β€” the message version, which is HAM_CB_MESSAGE_VER. that's the one. don't come at me with a different number πŸ™ˆ
  • reserved β€” reserved. like, it's reserved bestie. leave it alone. it's not your moment πŸ’€
  • buffer_physical_address β€” the physical address of the DMA buffer. like the actual physical one, fr fr πŸ”₯
  • host_to_fw_section_length β€” the memory size for host to fw communication. host ➑️ fw, one direction, one size 🌈
  • fw_to_host_section_length β€” the memory size for fw to host communication. fw ➑️ host, the other direction, its own size πŸŽ€
  • control_length β€” the memory size for the control buffer. yep, the control stuff gets its own length too πŸ‘‘

πŸ‘€ SEE ALSO

this is where the whole friend group shows up, so let's give them their shoutouts πŸ’– the kernel file is ./drivers/misc/issei/hw_msg.h, and it's bringing all of these along:

  • struct ham_setup_shared_memory_res(9)
  • struct control_buffer(9)
  • struct ham_message_header(9)
  • struct ham_bus_message(9)
  • struct ham_start_message_req(9)
  • struct ham_start_message_res(9)
  • struct ham_get_clients_req(9)
  • struct ham_client_properties(9)
  • struct ham_get_clients_res(9)

go read them too, i'm literally begging 🧚


reminder that the reserved field is reserved. i'm saying it twice because someone always tries something πŸ™ˆ

and that's the page!! πŸ“ sign-off time: this lives over in ./drivers/misc/issei, dated October 2026, and it's struct ham_s...d_memory_req(9) β€” ok love u bye, go set up some shared memory responsibly πŸ’œβœ¨

πŸ“¦ where this page comes from