STRUCT X86_INIT_IRQS(9)
β¨ struct x86_init_irqs(9) β Kernel API Manual β¨
okay so bestie, gather round, because this is the little struct that decides how your interrupts get set up on x86, and it lives in the kernel API manual (struct x86_init_irqs(9)). it's giving "tiny struct, enormous responsibility" energy π
πΈ NAME πΈ
struct x86_init_irqs β platform specific interrupt setup
like, literally the hook table for platform-specific interrupt init. no cap.
π SYNOPSIS π
struct x86_init_irqs {
void (*pre_vector_init)(void);
void (*intr_init)(void);
void (*intr_mode_select)(void);
void (*intr_mode_init)(void);
struct irq_domain *(*create_pci_msi_domain)(void);
};
five function pointers, all vibes, zero chill π₯
π Members π
each one is a function pointer that the platform fills in, and here's exactly what each one is for:
pre_vector_initβ init code to run before interrupt vectors are set up. like the getting-ready portion of the morning routine β¨intr_initβ interrupt init code. the main character of the group chat π«Άintr_mode_selectβ interrupt delivery mode selection. choosing which mode we're in, obviously πintr_mode_initβ interrupt delivery mode setup. actually setting up the mode we picked. follow-through is key πcreate_pci_msi_domainβ Create the PCI/MSI interrupt domain. returns astruct irq_domain *, so yeah it's building an actual domain π
π¦ SEE ALSO π¦
so there's a whole family of these structs and they all hang out together, plus the actual file they live in:
- Kernel file
./arch/x86/include/asm/x86_init.hstruct x86_init_mpparse(9)struct x86_init_resources(9)struct x86_init_oem(9)struct x86_init_paging(9)struct x86_init_timers(9)struct x86_init_iommu(9)struct x86_init_pci(9)struct x86_hyper_init(9)struct x86_init_acpi(9)struct x86_guest(9)struct x86_init_ops(9)struct x86_cpuinit_ops(9)struct x86_legacy_devices(9)enum x86_legacy_i8042_state(9)struct x86_legacy_features(9)struct x86_hyper_runtime(9)struct x86_platform_ops(9)
go read all of them bestie, it's a whole saga π (affectionate)
ngl this page is short, but every field here matters β interrupt setup is not the place to vibe and hope for the best π
okay that's the whole page!! sign-off time: this one comes from <pink>./arch/x86/include/asm</pink> and it's dated <purple>October 2026</purple> β it's giving future icon, periodt βππ§
π¦ 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