ixgbe_read_nvm_sr_copy(9)
π
ixgbe_read_nvm_sr_copy β from the Kernel API Manual, bestie
okay so picture this: we're deep in the ixgbe driver, right, and there's a Shadow RAM copy just sitting there in an NVM module, being all mysterious. this little function? it goes in and reads one word out of it. one word. that's the whole job. iconic, honestly. β¨
πΈ NAME πΈ
ixgbe_read_nvm_sr_copy β read a word from the Shadow RAM copy π
π¦ SYNOPSIS π¦
int ixgbe_read_nvm_sr_copy (struct ixgbe_hw *hw , enum ixgbe_bank_select
bank , u32 offset , u16 *data );
like, she takes four things and gives you back an int. no cap.
π ARGUMENTS π
hwβ pointer to the HW structure π this is the hardware-handle baddie, the main character of the whole operation.bankβ whether to read from the active or inactive NVM module π yes bestie, you literally get to choose your module, we love options.offsetβ offset into the Shadow RAM copy to read, in words π careful, that's words not bytes, don't come for me.dataβ storage for the returned word value π this is where the read word comes home to live. it's literally the whole point.
π§ DESCRIPTION π§
so what she does is: read the specified word from the copy of the Shadow RAM found in the specified NVM module. that's it. that's the function. short and slay π
(and yeah, "specified word" + "specified NVM module" β you pick the word via offset and you pick the module via bank. girl math, but the numbers are correct fr fr.)
π₯ RETURN π₯
the exit code of the operation. β that's your vibe check on whether the read worked out, iykyk.
π SEE ALSO π
the kernel file in question, pls look respectful:
./drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
and then the entire friend group β every single one of these, no gatekeeping:
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_read_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_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)
ok but fr, don't skip the SEE ALSO β that's the whole friend group and they all ate ππ«Ά
and that's the page, bestie!! ππ courtesy of that kernel source path ./drivers/net/ethernet/intel/i..., dated October 2026, stamped with ixgbe_read_nvm_sr_copy(9) β go read a word, slay, periodt β¨ππ
π¦ 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