STRUCT IWL_SHARED_MEM_CFG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct iwl_shared_mem_cfg(9) ✨

okay bestie, welcome to the Kernel API Manual πŸ’… this is the page for struct iwl_shared_mem_cfg, and it is literally the shared memory configuration information glow-up of your dreams. no cap. let's get into it πŸŽ€


🌸 NAME 🌸

struct iwl_shared_mem_cfg β€” shared memory configuration information ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole vibe, character for character, don't touch anything:

struct iwl_shared_mem_cfg {
    __le32 shared_mem_addr;
    __le32 shared_mem_size;
    __le32 sample_buff_addr;
    __le32 sample_buff_size;
    __le32 rxfifo2_addr;
    __le32 rxfifo2_size;
    __le32 page_buff_addr;
    __le32 page_buff_size;
    __le32 lmac_num;
    struct iwl_shared_mem_lmac_cfg lmac_smem[3];
    __le32 rxfifo2_control_addr;
    __le32 rxfifo2_control_size;
 };

she's structured. she's little-endian. she's iconic. πŸ‘‘


πŸ’– Members πŸ’–

every single field, served fresh, no skips, no crumbs:

  • shared_mem_addr β€” the shared memory address 🏠
  • shared_mem_size β€” the shared memory size, aka how much room she's got πŸ“
  • sample_buff_addr β€” address of the internal sample (mon/adc) buff πŸ”
  • sample_buff_size β€” size of that internal sample buff πŸ“
  • rxfifo2_addr β€” the start addr of RXF2 πŸ“
  • rxfifo2_size β€” the size of RXF2 πŸ“¦
  • page_buff_addr β€” used by UMAC and performance debug (page miss analysis), and when paging is not supported this should be 0 ⚠️ (yes, literally zero, don't be weird about it)
  • page_buff_size β€” size of page_buff_addr 🧚
  • lmac_num β€” number of LMACs (either 1 or 2, that's the whole menu) 🎯
  • lmac_smem β€” per-LMAC smem data πŸ’«
  • rxfifo2_control_addr β€” the start addr of RXF2C πŸ—ΊοΈ
  • rxfifo2_control_size β€” the size of RXF2C πŸ“

🌈 SEE ALSO 🌈

the whole friend group, all linked, all slaying in their own way:

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/debug.h
  • enum iwl_debug_cmds(9)
  • struct iwl_error_resp(9)
  • struct iwl_shared_mem_cfg_v2(9)
  • struct iwl_shared_mem_lmac_cfg(9)
  • struct iwl_mfuart_load_notif_v1(9)
  • struct iwl_mfuart_load_notif(9)
  • struct iwl_mfu_assert_dump_notif(9)
  • enum iwl_marker_id(9)
  • struct iwl_marker(9)
  • struct iwl_marker_rsp(9)
  • struct iwl_dbg_mem_access_cmd(9)
  • struct iwl_dbg_mem_access_rsp(9)
  • struct iwl_dbg_suspend_resume_cmd(9)
  • struct iwl_buf_alloc_frag(9)
  • struct iwl_buf_alloc_cmd(9)
  • struct iwl_dram_info(9)
  • struct iwl_dbgc1_info(9)
  • struct iwl_dbg_host_event_cfg_cmd(9)
  • struct iwl_dbg_dump_complete_cmd(9)
  • struct iwl_tas_status_per_mac(9)
  • struct iwl_tas_status_resp(9)
  • enum iwl_tas_dyna_status(9)
  • enum iwl_tas_statically_disabled_reason(9)
  • enum iwl_fw_dbg_config_cmd_type(9)
  • struct iwl_fw_dbg_config_cmd(9)

and that's the page, bestie 🫢 sourced straight from ./drivers/net/wireless/intel/i..., dated October 2026, filed under struct iwl_shared_mem_cfg(9). go forth and configure your shared memory with main character energy πŸ’œπŸ”₯

πŸ“¦ where this page comes from