handle_l1_dte(9)
β¨ handle_l1_dte π
okay so bestie, this one lives in the Kernel API Manual β section 9, kernel land, very "don't talk to me unless you're writing a driver" energy π«Ά
πΈ NAME πΈ
handle_l1_dte β the callback that handles L1 device table entries (specifically the 2 stage case, iykyk) β¨
π SYNOPSIS π
int handle_l1_dte (struct vgic_its *its , u32 id , void *addr , void
*opaque );
literally just those four args, no cap π
π ARGUMENTS π
itsβ the its handle π―idβ the index of the entry inside the L1 table, so it knows which one we're on, periodtaddrβ kernel VA, as in the virtual address, not a vibe check πopaqueβ unused π (she's just there for the callback signature, no notes)
π¦ DESCRIPTION π¦
so the L1 table entries get scanned by steps of 1 entry each time β and here's the return situation, pay attention bestie:
- return
< 0if there's an error π - return
0if the last dte was found while scanning the L2 table π - return
+1otherwise β meaning the next L1 entry has to be scanned, keep it moving π
π₯ SEE ALSO π₯
kernel file ./arch/arm64/kvm/vgic/vgic-its.c, plus the whole friend group:
struct vgic_its_abi(9)vgic_its_invall(9)entry_fn_t(9)scan_its_table(9)vgic_its_restore_ite(9)vgic_its_restore_itt(9)vgic_its_save_dte(9)vgic_its_restore_dte(9)
and that's the whole page, bestie, ate and left no crumbs π this one ships out of ./arch/arm64/kvm/vgic and the date on it is October 2026, so yeah β future-coded footer, iconic behavior honestly πβ¨π
π¦ 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