hl_init_pb_r...single_dcore(9)
π hl_init_pb_r...single_dcore(9) β from the Kernel API Manual, bestie β¨
okay so real talk: this one is hl_init_pb_r...single_dcore, straight out of the Kernel API Manual, and it's giving "security setup but make it per-dcore" π buckle up.
πΈ NAME πΈ
hl_init_pb_ranges_single_dcore β sets pb for a single docre in HW according to the given configuration, and the whole vibe is that it unsecures register ranges instead of specific registers π«Ά
yes "docre" is what the page says, we do not correct the elders π
β¨ SYNOPSIS β¨
int hl_init_pb_ranges_single_dcore (struct hl_device *hdev , u32
dcore_offset , u32 num_instances , u32 instance_offset , const u32
pb_blocks[] , u32 blocks_array_size , const struct range
*user_regs_range_array , u32 user_regs_range_array_size );
π¦ ARGUMENTS π¦
hdevβ pointer tohl_devicestructure. the main character of the whole habanalabs saga πdcore_offsetβ offset from thedcore0. like, how far down the dcore line we're starting πnum_instancesβ number of instances to apply configuration to. how many times we're doing this, fr frinstance_offsetβ offset between instances. the gap between each one πpb_blocks[]β blocks array. literally the blocks, in an array πblocks_array_sizeβ blocks array size. yes bestie, it's the size of that array πuser_regs_range_arrayβ unsecured register range array. the ranges we're unsecuring, iconicuser_regs_range_array_sizeβ unsecured register range array size. the size of that array πΈ
π SEE ALSO π
Kernel file ./drivers/accel/habanalabs/common/security.c β that's where the magic lives, iykyk β¨
hl_get_pb_block(9)hl_unset_pb_in_block(9)hl_unsecure_register(9)hl_unsecure_register_range(9)hl_unsecure_registers(9)hl_unsecure_registers_range(9)hl_ack_pb_security_violations(9)hl_config_glbl_sec(9)hl_secure_block(9)hl_init_pb_with_mask(9)hl_init_pb(9)hl_init_pb_ranges_with_mask(9)hl_init_pb_ranges(9)hl_init_pb_single_dcore(9)hl_ack_pb_with_mask(9)hl_ack_pb(9)hl_ack_pb_single_dcore(9)
the whole friend group fr π
π«Ά friendly reminder: everything above is literally straight from the page β the dcore, the instances, the offsets, the arrays. no cap, no invented options, no extra lore. just the facts with better vibes π
and that's the tea, bestie π this diva of a page lives in ./drivers/accel/habanalabs/common, version dated October 2026 β go forth and unsecure those ranges, slay πβ¨ππ¦
π¦ 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