ixgbe_aci_read_nvm(9)
π ixgbe_aci_read_nvm(9) β like, the NVM-reading girlie β¨
okay so bestie, welcome to the Kernel API Manual and today's main character is ixgbe_aci_read_nvm π she's a little function with one job and she does it immaculately. the whole thing is about reading NVM, and yes we're gonna get into it π«Ά
πΈ NAME πΈ
ixgbe_aci_read_nvm β read NVM πβ¨
literally that's it. read NVM. iconic, concise, no notes π
π¦ SYNOPSIS π¦
int ixgbe_aci_read_nvm (struct ixgbe_hw *hw , u16 module_typeid , u32
offset , u16 length , void *data , bool last_command , bool
read_shadow_ram );
seven arguments, one int coming back at you, and she ate π
π ARGUMENTS π
hwβ pointer to the HW struct π§Έ like, the hardware context, the whole vibe, you need her.module_typeidβ module pointer location in words from the NVM beginning β¨ (words, bestie, not bytes β note it).offsetβ byte offset from the module beginning π relative to wherever the module starts.lengthβ length of the section to be read (in bytes from the offset) πΈ how much we're grabbing, counted in bytes, starting fromoffset.dataβ command buffer (size [bytes] =length) πΎ so the buffer gotta belengthbytes big, fr fr, do not undersize her πlast_commandβ tells if this is the last command in a series π like, "bestie this is the finale" for a batch of commands.read_shadow_ramβ tell if this is a shadow RAM read π» exactly what it sounds like, the shadow RAM flag.
β DESCRIPTION β
Read the NVM using ACI command (0x0701) π₯ that's the whole description, she's lowkey mysterious but the hex is right there: 0x0701. write it down, iykyk π
π RETURN π
the exit code of the operation π« so like, check her return value, bestie β she's telling you how it went.
π SEE ALSO π
the whole friend group, no cap π«Ά this is the kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c and every single one of these icons:
ixgbe_should_retry_aci_send_cmd_execute(9),
ixgbe_aci_send_cmd_execute(9), ixgbe_aci_send_cmd(9),
ixgbe_aci_check_event_pending(9), ixgbe_aci_get_event(9),
ixgbe_fill_dflt_direct_cmd_desc(9), ixgbe_aci_get_fw_ver(9),
ixgbe_aci_req_res(9), ixgbe_aci_release_res(9), ixgbe_acquire_res(9),
ixgbe_release_res(9), ixgbe_parse_e610_caps(9),
ixgbe_parse_valid_functions_cap(9), ixgbe_parse_vf_dev_caps(9),
ixgbe_parse_vsi_dev_caps(9), ixgbe_parse_fdir_dev_caps(9),
ixgbe_parse_dev_caps(9), ixgbe_parse_vf_func_caps(9),
ixgbe_get_num_per_func(9), ixgbe_parse_vsi_func_caps(9),
ixgbe_parse_func_caps(9), ixgbe_aci_list_caps(9),
ixgbe_discover_dev_caps(9), ixgbe_discover_func_caps(9),
ixgbe_get_caps(9), ixgbe_aci_disable_rxen(9), ixgbe_aci_get_phy_caps(9),
ixgbe_copy_phy_caps_to_cfg(9), ixgbe_aci_set_phy_cfg(9),
ixgbe_aci_set_link_restart_an(9), ixgbe_is_media_cage_present(9),
ixgbe_get_media_type_from_phy_type(9), ixgbe_update_link_info(9),
ixgbe_get_link_status(9), ixgbe_aci_get_link_info(9),
ixgbe_aci_set_event_mask(9), ixgbe_configure_lse(9),
ixgbe_start_hw_e610(9), ixgbe_aci_set_port_id_led(9),
ixgbe_get_media_type_e610(9), ixgbe_setup_link_e610(9),
ixgbe_check_link_e610(9), ixgbe_get_link_capabilities_e610(9),
ixgbe_cfg_phy_fc(9), ixgbe_setup_fc_e610(9), ixgbe_fc_autoneg_e610(9),
ixgbe_disable_rx_e610(9), ixgbe_fw_recovery_mode_e610(9),
ixgbe_fw_rollback_mode_e610(9), ixgbe_init_phy_ops_e610(9),
ixgbe_identify_phy_e610(9), ixgbe_setup_eee_e610(9),
ixgbe_identify_module_e610(9), ixgbe_setup_phy_link_e610(9),
ixgbe_set_phy_power_e610(9), ixgbe_enter_lplu_e610(9),
ixgbe_init_eeprom_params_e610(9), ixgbe_aci_get_netlist_node(9),
ixgbe_acquire_nvm(9), ixgbe_release_nvm(9), ixgbe_aci_erase_nvm(9),
ixgbe_aci_update_nvm(9), ixgbe_nvm_write_activate(9),
ixgbe_nvm_validate_checksum(9), ixgbe_discover_flash_size(9),
ixgbe_read_sr_base_address(9), ixgbe_read_sr_area_size(9),
ixgbe_determine_active_flash_banks(9), ixgbe_get_flash_bank_offset(9),
ixgbe_read_flash_module(9), ixgbe_read_nvm_module(9),
ixgbe_read_netlist_module(9), ixgbe_read_orom_module(9),
ixgbe_get_nvm_css_hdr_len(9), ixgbe_read_nvm_sr_copy(9),
ixgbe_get_nvm_srev(9), ixgbe_get_orom_civd_data(9),
ixgbe_get_orom_srev(9), ixgbe_get_orom_ver_info(9),
ixgbe_get_inactive_orom_ver(9), ixgbe_get_nvm_ver_info(9),
ixgbe_get_inactive_nvm_ver(9), ixgbe_get_active_nvm_ver(9),
ixgbe_get_netlist_info(9), ixgbe_get_inactive_netlist_ver(9),
ixgbe_get_flash_data(9), ixgbe_aci_nvm_update_empr(9),
ixgbe_read_sr_word_aci(9), ixgbe_read_flat_nvm(9),
ixgbe_read_sr_buf_aci(9), ixgbe_read_ee_aci_e610(9),
ixgbe_read_ee_aci_buffer_e610(9),
ixgbe_validate_eeprom_checksum_e610(9), ixgbe_reset_hw_e610(9),
ixgbe_get_pfa_module_tlv(9), ixgbe_read_pba_string_e610(9)
that's the whole roster, bestie. go read 'em. every single one of them. πβ¨
ngl this page is short but she's doing the work β that 0x0701 is the moment, the whole ACI command, the main character energy π
and that's the page π this lil beauty comes from ./drivers/net/ethernet/intel/i... (yeah the path got cut off in the footer, that's literally what it says, don't come for me π), dated October 2026, and the footer signs off with ixgbe_aci_read_nvm(9) one more time for the people in the back π bye bestie, go read that NVM π¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms