ixgbe_discover_flash_size(9)
π ixgbe_discover_flash_size(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β yes, the Kernel API Manual, that's the whole vibe of this page. Sit down, hydrate, and let's talk about figuring out how much flash your NIC actually has π«Ά
πΈ NAME πΈ
ixgbe_discover_flash_size β discover the available flash size ππΎ
β¨ SYNOPSIS β¨
int ixgbe_discover_flash_size (struct ixgbe_hw *hw );
literally the whole signature, no cap, copy it exactly π
π ARGUMENTS π
hwβ pointer to the HW struct. that's it. that's the whole arg. she's a pointer and she knows it π
π¦ DESCRIPTION π¦
so here's the tea π: the device flash could be up to 16MB in size. big girl energy. BUT β and this is the plot twist π β it's possible that the actual size is smaller. like, way smaller. the hardware isn't gonna text you back with the real number.
so what do we do? we use bisection to determine the accessible size of flash memory π«. yes, the classic split-it-in-half-until-you-find-it move. it's giving binary search but make it hardware. iconic behaviour, honestly π§
π₯ RETURN π₯
the exit code of the operation. that's what you get back β the exit code, bestie. check it, don't ignore it π
π SEE ALSO π
the whole friend group π β and yes, every single one of them, because we do not abbreviate the squad:
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_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)
and if you wanna read the source with your own two eyes π: Kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c β¨
ngl the flash might not be the full 16MB and the bisection is the only way to know β that's not me being dramatic, that's literally the function's whole job π
kisses, mwah π this little love letter is from the source/version ./drivers/net/ethernet/intel/i..., dated October 2026, living under ixgbe_discover_flash_size(9) in the Kernel API Manual. go forth and bisect, bestie ππ
π¦ 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