ENUM HL_FW_TYPES(9)
π enum hl_fw_types(9) β Kernel API Manual energy, but make it make sense
okay bestie, so this one is a page from the Kernel API Manual, and it's literally just a little enum that tells you which firmware types can be chillin' in your system. No cap, that's the whole vibe. It lives next to ./drivers/accel/habanalabs/common/habanalabs.h, and if you're the kind of girlie who reads kernel headers for fun (me, I'm her), this is your moment β¨
πΈ NAME πΈ
enum hl_fw_types β literally the F/W types that are present in the system π«Ά
β¨ SYNOPSIS β¨
enum hl_fw_types {
FW_TYPE_NONE ,
FW_TYPE_LINUX ,
FW_TYPE_BOOT_CPU ,
FW_TYPE_PREBOOT_CPU ,
FW_TYPE_ALL_TYPES
};
that's it. that's the enum. she's small but she's doing her job π
π Constants π
okay so here's the whole cast, one by one, no skipping, we don't do that here:
FW_TYPE_NONEβ the "no FW component indication" girlie. she's giving nothing and honestly that's her whole point πFW_TYPE_LINUXβ the Linux image for the device CPU. yes, actual Linux, running over there, doing Linux things π§FW_TYPE_BOOT_CPUβ the Boot image for the device CPU. it boots. that's the assignment and she ate π₯FW_TYPE_PREBOOT_CPUβ this one means pre-loaded CPUs are present in the system (preboot, ppboot etc...). okay so the "etc..." is doing a lot of heavy lifting there, but we respect it πFW_TYPE_ALL_TYPESβ the Mask for all types. she contains multitudes. main character energy fr fr π
π¦ SEE ALSO π¦
bestie. sit down. hydrate. this list is long and we are not skipping a single one, because every single one of these deserves her moment in the group chat. here we go, in the exact order the manpage gave them, all under Kernel file ./drivers/accel/habanalabs/common/habanalabs.h:
enum hl_mmu_page_table_location(9)struct iterate_module_ctx(9)struct hl_gen_wait_properties(9)struct pgt_info(9)enum hl_pci_match_mode(9)enum hl_fw_component(9)enum hl_queue_type(9)struct hw_queue_properties(9)enum vm_type(9)enum mmu_op_flags(9)enum hl_device_hw_state(9)struct hl_mmu_properties(9)struct hl_hints_range(9)struct asic_fixed_properties(9)struct hl_fence(9)struct hl_cs_compl(9)struct hl_ts_buff(9)struct hl_mem_mgr(9)struct hl_mem_mgr_fini_stats(9)struct hl_mmap_mem_buf_behavior(9)struct hl_mmap_mem_buf(9)struct hl_cb(9)struct hl_sync_stream_properties(9)struct hl_encaps_signals_mgr(9)struct hl_hw_queue(9)struct hl_cq(9)struct hl_ts_free_jobs(9)struct hl_user_interrupt(9)struct timestamp_reg_free_node(9)struct hl_user_pending_interrupt(9)struct hl_eq(9)struct hl_dec(9)enum hl_asic_type(9)enum hl_pm_mng_profile(9)enum hl_pll_frequency(9)struct pci_mem_region(9)struct static_fw_load_mgr(9)struct fw_response(9)struct dynamic_fw_load_mgr(9)struct pre_fw_load_props(9)struct fw_image_props(9)struct fw_load_mgr(9)struct engines_data(9)struct hl_asic_funcs(9)enum hl_va_range_type(9)struct hl_va_range(9)struct hl_cs_counters_atomic(9)struct hl_dmabuf_priv(9)struct hl_cs_outcome(9)struct hl_cs_outcome_store(9)struct hl_ctx(9)struct hl_ctx_mgr(9)struct hl_userptr(9)struct hl_cs(9)struct hl_cs_job(9)struct hl_cs_parser(9)struct hl_vm_hash_node(9)struct hl_vm_hw_block_list_node(9)struct hl_vm_phys_pg_pack(9)struct hl_vm_va_block(9)struct hl_vm(9)struct hl_debug_params(9)struct hl_notifier_event(9)struct hl_fpriv(9)struct hl_info_list(9)struct hl_debugfs_entry(9)struct hl_dbg_device_entry(9)struct hl_debugfs_cfg_access_entry(9)struct hl_debugfs_cfg_access(9)struct hl_hw_obj_name_entry(9)struct hl_mon_state_dump(9)struct hl_sync_to_engine_map_entry(9)struct hl_sync_to_engine_map(9)struct hl_state_dump_specs_funcs(9)struct hl_state_dump_specs(9)struct hl_device_reset_work(9)struct hl_mmu_priv(9)struct hl_mmu_per_hop_info(9)struct hl_mmu_hop_info(9)struct hl_hr_mmu_funcs(9)struct hl_mmu_funcs(9)struct hl_prefetch_work(9)struct multi_cs_completion(9)struct multi_cs_data(9)struct hl_clk_throttle_timestamp(9)struct hl_clk_throttle(9)struct user_mapped_block(9)struct cs_timeout_info(9)struct undefined_opcode_info(9)struct page_fault_info(9)struct razwi_info(9)struct hw_err_info(9)struct fw_err_info(9)struct engine_err_info(9)struct hl_error_info(9)struct hl_reset_info(9)struct eq_heartbeat_debug_info(9)struct hl_device(9)struct hl_cs_encaps_sig_handle(9)struct hl_info_fw_err_info(9)hl_ioctl_t(9)struct hl_ioctl_desc(9)hl_get_sg_info(9)hl_mem_area_inside_range(9)hl_mem_area_crosses_range(9)
like I said. long. but we got through it together and that's what matters π and yeah, the whole list is still under ./drivers/accel/habanalabs/common β the directory, not the header, the header is the habanalabs.h bit above. iykyk π§
no cap, that's genuinely every reference β if you need the actual behaviour of any of these, go read their pages, because this one is only about the firmware types. periodt π
okay that's the whole vibe check, bestie β this page is from the ./drivers/accel/habanalabs/common source tree, dated October 2026, and honestly? iconic. go forth and know your FW types ππ¦π
π¦ 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