STRUCT HL_STATE_DUMP_SPECS_FUNCS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct hl_state_dump_specs_funcs β€” NAME πŸŽ€

okay so bestie, welcome to the Kernel API Manual page for struct hl_state_dump_specs_funcs(9) β€” literally the virtual functions used by the state dump. yes. a struct full of function pointers, and it is THE moment for the state dump. πŸ’…


✨ SYNOPSIS ✨

no cap, here's the whole thing, character-for-character, go off:

struct hl_state_dump_specs_funcs {
    int (*gen_sync_to_engine_map)(struct hl_device *hdev, struct hl_sync_to_engine_map *map);
    int (*print_single_monitor)(char **buf, size_t *size, size_t *offset, struct hl_device *hdev, struct hl_mon_state_dump *mon);
    int (*monitor_valid)(struct hl_mon_state_dump *mon);
    int (*print_fences_single_engine)(struct hl_device *hdev, u64 base_offset, u64 status_base_offset, enum hl_sync_engine_type engine_type, u32 engine_id, char **buf, size_t *size, size_t *offset);
};

like… four whole function pointers. she's compact. she's powerful. she's giving pluggable-architecture main character energy. πŸ‘‘


🌸 Members 🌸

bestie these are the four slots, and each one is a vibe with a job. listen:

  • gen_sync_to_engine_map β€” generate a hash map from sync obj id to its engine. yeah. that's the whole job. it's the matchmaker of the struct β€” sync obj id on one side, engine on the other. πŸ”₯
  • print_single_monitor β€” format monitor data as string. one monitor in, one cute string out. it's giving "make it readable for the humans". ✨
  • monitor_valid β€” return true if given monitor dump is valid. the vibe check function. is this monitor dump valid? true or false, no in-between, periodt. 🫢
  • print_fences_single_engine β€” format fences data as string. fences data, single engine, formatted, string. same energy as above but make it fences. πŸ’–

πŸ¦‹ SEE ALSO πŸ¦‹

okay so this list is LONG and I refuse to skip a single one of them β€” the Kernel file is ./drivers/accel/habanalabs/common/habanalabs.h and here is the entire friend group, alphabetically-unbothered, exactly as listed:

  • 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_fw_types(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(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)
ngl that's a lot of cross-references, but we read them all. every. single. one. you're welcome. πŸ˜­πŸ’€

okay that's the whole page bestie β€” go read the headers, they slay. πŸ’œ

this cutie came to you from ./drivers/accel/habanalabs/common, dated October 2026, and she's filed under struct hl_st..._specs_funcs(9). mwah. πŸŽ€βœ¨πŸ“

πŸ“¦ where this page comes from