UNION IONIC_CMB_REGION(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ union ionic_cmb_region(9) ✨ β€” the Kernel API Manual, bestie edition πŸŽ€

okay so picture this: it's union ionic_cmb_region(9), straight out of the kernel's very own manual, and she's here to explain CMB region configuration to you. yes, the whole page. no skips, no "you don't need to know that part", we're doing all of it πŸ’…


🌸 NAME 🌸

union ionic_cmb_region β€” literally the configuration for a CMB region. that's the whole vibe. πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the shape of her, exactly as she is, don't @ me:

union ionic_cmb_region {
    struct {
      u8 bar_num;
      u8 cmb_type;
      u8 rsvd[6];
      __le32 offset;
      __le32 length;
    };
    __le32 words[4];
 };

like… she's a union, she's got an anonymous struct inside her, she's got a words array. main character energy honestly πŸ‘‘


🌈 Members 🌈

πŸ’œ the anonymous one

  • {unnamed_struct} β€” anonymous. she has no name and she doesn't need one, that's the point 🫢

πŸ“ the actual fields

  • bar_num β€” CMB mapping number from FW. (FW = firmware, in case you were wondering, and yes it's giving "the hardware told me so")
  • cmb_type β€” the type of CMB this region describes, and it's an enum ionic_cmb_type. slay πŸŽ€
  • rsvd β€” Reserved. she's just sitting there taking up space and that's her job, respect it πŸ™ˆ
  • offset β€” offset within BAR, measured in 64KB pages. yes, 64KB pages, write that down ✨
  • length β€” the length of the CMB region. self-explanatory bestie πŸ’…
  • words β€” 32-bit words for direct access to the entire region. she's the shortcut, the vibe check bypass, the "I'll just grab the whole thing" option πŸ”₯

πŸ‘‘ SEE ALSO πŸ‘‘

okay this next part is long and I need you to trust me. it's all the sibling structs and unions and enums from the same header file β€” Kernel file ./drivers/net/ethernet/pensando/ionic/ionic_if.h β€” and I'm listing every single one because we do not skip. ever. periodt. πŸ’€

  • struct ionic_admin_cmd(9)
  • struct ionic_admin_comp(9)
  • struct ionic_nop_cmd(9)
  • struct ionic_nop_comp(9)
  • struct ionic_dev_init_cmd(9)
  • struct ionic_dev_init_comp(9)
  • struct ionic_dev_reset_cmd(9)
  • struct ionic_dev_reset_comp(9)
  • struct ionic_dev_identify_cmd(9)
  • struct ionic_dev_identify_comp(9)
  • union ionic_drv_identity(9)
  • enum ionic_dev_capability(9)
  • union ionic_dev_identity(9)
  • struct ionic_lif_identify_cmd(9)
  • struct ionic_lif_identify_comp(9)
  • enum ionic_lif_capability(9)
  • enum ionic_logical_qtype(9)
  • enum ionic_q_feature(9)
  • enum ionic_rxq_feature(9)
  • enum ionic_txq_feature(9)
  • enum ionic_hwstamp_bits(9)
  • struct ionic_lif_logical_qtype(9)
  • enum ionic_lif_state(9)
  • union ionic_lif_config(9)
  • enum ionic_lif_rdma_cap_stats(9)
  • union ionic_lif_identity(9)
  • struct ionic_lif_init_cmd(9)
  • struct ionic_lif_init_comp(9)
  • struct ionic_q_identify_cmd(9)
  • struct ionic_q_identify_comp(9)
  • union ionic_q_identity(9)
  • struct ionic_q_init_cmd(9)
  • struct ionic_q_init_comp(9)
  • struct ionic_txq_desc(9)
  • struct ionic_txq_sg_elem(9)
  • struct ionic_txq_sg_desc(9)
  • struct ionic_txq_comp(9)
  • struct ionic_rxq_desc(9)
  • struct ionic_rxq_sg_elem(9)
  • struct ionic_rxq_sg_desc(9)
  • struct ionic_rxq_comp(9)
  • enum ionic_pkt_class(9)
  • struct ionic_q_control_cmd(9)
  • enum ionic_phy_type(9)
  • enum ionic_xcvr_state(9)
  • enum ionic_port_type(9)
  • enum ionic_port_admin_state(9)
  • enum ionic_port_oper_status(9)
  • enum ionic_port_fec_type(9)
  • enum ionic_port_pause_type(9)
  • enum ionic_port_loopback_mode(9)
  • struct ionic_xcvr_status(9)
  • union ionic_port_config(9)
  • struct ionic_port_status(9)
  • struct ionic_port_identify_cmd(9)
  • struct ionic_port_identify_comp(9)
  • struct ionic_port_init_cmd(9)
  • struct ionic_port_init_comp(9)
  • struct ionic_port_reset_cmd(9)
  • struct ionic_port_reset_comp(9)
  • enum ionic_stats_ctl_cmd(9)
  • enum ionic_txstamp_mode(9)
  • enum ionic_port_attr(9)
  • struct ionic_port_setattr_cmd(9)
  • struct ionic_port_setattr_comp(9)
  • struct ionic_port_getattr_cmd(9)
  • struct ionic_port_getattr_comp(9)
  • struct ionic_lif_status(9)
  • struct ionic_lif_reset_cmd(9)
  • enum ionic_dev_attr(9)
  • struct ionic_dev_setattr_cmd(9)
  • struct ionic_dev_setattr_comp(9)
  • struct ionic_dev_getattr_cmd(9)
  • struct ionic_dev_getattr_comp(9)
  • enum ionic_lif_attr(9)
  • struct ionic_lif_setattr_cmd(9)
  • struct ionic_lif_setattr_comp(9)
  • struct ionic_lif_getattr_cmd(9)
  • struct ionic_lif_getattr_comp(9)
  • struct ionic_lif_setphc_cmd(9)
  • struct ionic_rx_mode_set_cmd(9)
  • struct ionic_rx_filter_add_cmd(9)
  • struct ionic_rx_filter_add_comp(9)
  • struct ionic_rx_filter_del_cmd(9)
  • enum ionic_vf_link_status(9)
  • struct ionic_vf_setattr_cmd(9)
  • struct ionic_vf_getattr_cmd(9)
  • struct ionic_vf_ctrl_cmd(9)
  • struct ionic_vf_ctrl_comp(9)
  • struct ionic_discover_cmb_cmd(9)
  • struct ionic_discover_cmb_comp(9)
  • union ionic_discover_cmb_identity(9)
  • struct ionic_qos_identify_cmd(9)
  • struct ionic_qos_identify_comp(9)
  • enum ionic_qos_class_type(9)
  • enum ionic_qos_sched_type(9)
  • union ionic_qos_config(9)
  • union ionic_qos_identity(9)
  • struct ionic_qos_init_cmd(9)
  • struct ionic_qos_reset_cmd(9)
  • struct ionic_qos_clear_stats_cmd(9)
  • struct ionic_fw_download_cmd(9)
  • enum ionic_fw_control_oper(9)
  • struct ionic_fw_control_cmd(9)
  • struct ionic_fw_control_comp(9)
  • struct ionic_rdma_reset_cmd(9)
  • struct ionic_rdma_queue_cmd(9)
  • struct ionic_notifyq_event(9)
  • struct ionic_link_change_event(9)
  • struct ionic_reset_event(9)
  • struct ionic_heartbeat_event(9)
  • struct ionic_log_event(9)
  • struct ionic_xcvr_event(9)
  • union ionic_port_identity(9)
  • struct ionic_port_info(9)
  • struct ionic_lif_info(9)
  • struct ionic_hwstamp_regs(9)
  • union ionic_dev_info_regs(9)
  • union ionic_dev_cmd_regs(9)
  • union ionic_dev_regs(9)
  • struct ionic_doorbell(9)

see? all of them. every last one. you're welcome, iykyk πŸŒˆπŸ’–


ngl bestie, that's the whole page β€” no hidden options, no sneaky defaults, no exit statuses, because this is a union, not a command. she just tells you where a CMB region lives and how big it is. 🧚

and that's the tea β˜• β€” this page comes to you from ./drivers/net/ethernet/pensand... and it's dated October 2026, so like… future icon behavior honestly. bye bestie, go read your header files πŸ’œπŸŽ€

πŸ“¦ where this page comes from