hl_fw_linux_update_state(9)
π hl_fw_linux_update_state(9) β¨
okay so bestie, welcome to the Kernel API Manual π β this little function lives up in there and it's literally all about refreshing the internal data structures once Linux is loaded. like, the vibes have changed, so the bookkeeping gotta change too. no cap.
πΈ NAME πΈ
hl_fw_linux_update_state β update internal data structures after Linux is loaded.
π¦ SYNOPSIS π¦
void hl_fw_linux_update_state (struct hl_device *hdev , u32
cpu_boot_dev_sts0_reg , u32 cpu_boot_dev_sts1_reg );
she takes three things and gives you backβ¦ nothing. void girlie. main character energy but makes zero promises π
π ARGUMENTS π
hdevβ pointer to thehabanalabsdevice structure. your whole device situation, right there π«Άcpu_boot_dev_sts0_regβ register holding CPU boot dev status 0 β¨cpu_boot_dev_sts1_regβ register holding CPU boot dev status 1 β¨ (sister register, equally iconic)
β οΈ NOTE β οΈ
Linux initialization is comprised mainly of two stages β loading kernel (SRAM_AVAIL) & loading ARMCP. Therefore reading boot device status in any of these stages might result in different values.
literally pay attention to this one π if you peek at the boot device status mid-stage you might get a completely different answer depending on which stage you're in. not a bug, just how the timeline works π
π₯ DESCRIPTION π₯
return 0 on success, otherwise non-zero error code.
(yes bestie, the return value is the whole description. that's the entire tea. sip it ββ¨)
π SEE ALSO π
Kernel file ./drivers/accel/habanalabs/common/firmware_if.c
and the whole friend group β fr fr, they all show up together:
hl_fw_version_cmp(9)extract_u32_until_given_char(9)hl_get_sw_major_minor_subminor(9)hl_get_preboot_major_minor(9)hl_release_firmware(9)hl_fw_copy_fw_to_device(9)hl_fw_copy_msg_to_device(9)hl_fw_load_fw_to_device(9)hl_fw_send_cpu_message(9)hl_fw_preboot_update_state(9)hl_fw_dynamic_report_error_status(9)hl_fw_dynamic_send_cmd(9)hl_fw_dynamic_extract_fw_response(9)hl_fw_dynamic_wait_for_status(9)hl_fw_dynamic_send_clear_cmd(9)hl_fw_dynamic_send_protocol_cmd(9)hl_fw_compat_crc32(9)hl_fw_dynamic_validate_memory_bound(9)hl_fw_dynamic_validate_descriptor(9)hl_fw_dynamic_read_and_validate_descriptor(9)hl_fw_dynamic_request_descriptor(9)hl_fw_dynamic_read_device_fw_version(9)hl_fw_dynamic_copy_image(9)hl_fw_dynamic_copy_msg(9)hl_fw_boot_fit_update_state(9)hl_fw_dynamic_load_image(9)hl_fw_dynamic_send_msg(9)hl_fw_dynamic_init_cpu(9)hl_fw_static_init_cpu(9)hl_fw_init_cpu(9)
that's the whole page bestie, you ate π β¨
signed, sealed, delivered from ./drivers/accel/habanalabs/common β October 2026 edition ππ¦ love u, go read some kernel source π
π¦ 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