i40e_read_nvm_aq(9)
π i40e_read_nvm_aq β read that Shadow RAM bestie β¨
okay so real quick β this page lives in the Kernel API Manual, and it's about one tiny legendary function that goes and fetches some Shadow RAM for you. no cap, it's giving "small function, big job" π
πΈ NAME πΈ
i40e_read_nvm_aq β Read Shadow RAM. that's it. that's the whole vibe. π
β¨ SYNOPSIS β¨
int i40e_read_nvm_aq (struct i40e_hw *hw , u8 module_pointer , u32
offset , u16 words , void *data , bool last_command );
like, look at her. six whole arguments. main character energy fr fr π
π¦ ARGUMENTS π¦
hwβ pointer to the HW structure. yes the hardware struct, hand it over, she needs it π«Άmodule_pointerβ module pointer location in words from the NVM beginning. key word: from the NVM beginning, not from your module, iykyk πoffsetβ offset in words from module start. so this one counts from the module, not the NVM beginning. don't mix them up bestie πwordsβ number of words to read. how many we grabbing. π―dataβ buffer with words to read to the Shadow RAM. the destination, the lil home for your words πlast_commandβ tells the AdminQ that this is the last command. the "okay we're done here" flag, literally π
π DESCRIPTION π
Reads a 16 bit words buffer to the Shadow RAM using the admin command.
that's the whole thing. 16-bit words, admin command, Shadow RAM, done. iconic behaviour, no notes π β¨
π₯ SEE ALSO π₯
so like, the kernel file for this is ./drivers/net/ethernet/intel/i40e/i40e_nvm.c β go read it, it's right there π
and then there's the whole friend group, ok. the entire squad. here we go:
i40e_init_nvm(9), i40e_acquire_nvm(9), i40e_release_nvm(9), i40e_poll_sr_srctl_done_bit(9), i40e_read_nvm_word_srctl(9), i40e_read_nvm_word_aq(9), __i40e_read_nvm_word(9), i40e_read_nvm_word(9), i40e_read_nvm_module_data(9), i40e_read_nvm_buffer_srctl(9), i40e_read_nvm_buffer_aq(9), __i40e_read_nvm_buffer(9), i40e_read_nvm_buffer(9), i40e_write_nvm_aq(9), i40e_calc_nvm_checksum(9), i40e_update_nvm_checksum(9), i40e_validate_nvm_checksum(9), i40e_nvmupd_validate_command(9), i40e_nvmupd_nvm_erase(9), i40e_nvmupd_nvm_write(9), i40e_nvmupd_nvm_read(9), i40e_nvmupd_exec_aq(9), i40e_nvmupd_get_aq_result(9), i40e_nvmupd_get_aq_event(9), i40e_nvmupd_state_init(9), i40e_nvmupd_state_reading(9), i40e_nvmupd_state_writing(9), i40e_nvmupd_command(9), i40e_nvmupd_clear_wait_state(9), i40e_nvmupd_check_wait_event(9)
that's thirty whole functions. she has a LOT of friends. ate. π
mwah π k bye β this page came from ./drivers/net/ethernet/intel/i40e, dated October 2026, and it's literally titled i40e_read_nvm_aq(9). go read some Shadow RAM for me bestie, you got this π«Άπβ
π¦ 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