irq_matrix_assign_system(9)
π irq_matrix_assign_system β the kernel API manual, bestie edition π
okay so this one is from the kernel API manual (section 9, irq_matrix_assign_system(9), yes the title is literally the function name, we love a self-titled icon π) and it's about carving out a system-wide slot in the irq matrix. very "main character energy, but for interrupts." let's get into it β¨
β¨ NAME β¨
irq_matrix_assign_system β assign a system wide entry in the matrix π¦
like, you're reserving a whole spot in the matrix that belongs to the system, not to some random device. periodt.
πΈ SYNOPSIS πΈ
void irq_matrix_assign_system (struct irq_matrix *m , unsigned int bit ,
bool replace );
that's the whole vibe. void return, so it doesn't hand you anything back β it just does the thing π
π ARGUMENTS π
mβ matrix pointer π literally a pointer to yourstruct irq_matrix. the matrix in question. the main character.bitβ which bit to reserve β like, which exact slot are we claiming? that one.replaceβ replace an already allocated vector with a system vector at the same bit position π₯ so if something's already sitting in that bit, this says "yeah, swap it out for a system vector, same position." no cap.
π DESCRIPTION π
okay bestie, listen. the BUG_ONs below are on purpose. not a typo, not a whoopsie, on purpose π
if this goes wrong in the early boot process, then the chance to survive is about zero. like, zero zero. and if this happens when the system is live? it's not much better. π so yeah, treat this with the respect it deserves β this is highkey serious under all the sparkle.
ngl this is one of those "if you see the BUG_ON fire, the vibe check has failed catastrophically" situations π
π SEE ALSO π
kernel file ./kernel/irq/matrix.c π and honestly the whole friend group:
irq_alloc_matrix(9)irq_matrix_online(9)irq_matrix_offline(9)irq_matrix_reserve_managed(9)irq_matrix_remove_managed(9)irq_matrix_alloc_managed(9)irq_matrix_assign(9)irq_matrix_reserve(9)irq_matrix_remove_reserved(9)irq_matrix_alloc(9)irq_matrix_free(9)irq_matrix_available(9)irq_matrix_reserved(9)irq_matrix_allocated(9)irq_matrix_debug_show(9)
go read them, they're all iconic in their own way π«Άβ¨
okay that's the page!! sourced from ./kernel/irq, dated October 2026, and it's the irq_matrix_assign_system(9) manual page β mwah, love that for us ππ§ββοΈπΈ
π¦ 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