DEFINE_INTER..._HANDLER_RAW(9)
π DEFINE_INTERRUPT_HANDLER_RAW(9) π
okay bestie, welcome to the Kernel API Manual β this one lives in section 9 and it's literally all about DEFINE_INTERRUPT_HANDLER_RAW. yes the header got truncated to DEFINE_INTER..._HANDLER_RAW(9) because apparently even manpage titles have a character limit, but we know what it really is π«Ά
β¨ NAME β¨
DEFINE_INTERRUPT_HANDLER_RAW β Define raw interrupt handler function. that's it, that's the whole name section, she's concise π
πΈ SYNOPSIS πΈ
DEFINE_INTERRUPT_HANDLER_RAW (func );
literally just the macro and one argument, no cap β¨
π ARGUMENTS π
funcβ the function name of the entry point, aka what you're gonna call this handler. pick something cute but like, descriptive. iykyk π
π¦ RETURN π¦
Returns a value back to asm caller. yep, it hands a value right back to the assembly caller β the asm is the one asking, so it's the one receiving π
π₯ DESCRIPTION π₯
so here's the tea π β func is called from ASM entry code. like, straight from the assembly, no middleman, no vibes check.
This is a plain function which does no tracing, reconciling, etc. she's raw, she's unfiltered, she's giving minimalist main character energy. The macro is written so it acts as a function definition β so you append the body with a pair of curly brackets. { } bestie. that's the assignment π
π¨ the rules, and we're serious about these: raw interrupt handlers must not enable or disable interrupts, or schedule. if you do, tracing and instrumentation (ftrace,lockdep, etc) would not be advisable either β although it may be possible in a pinch, the trace will look odd at least. so likeβ¦ don't. lowkey the trace will be cursed π
A raw handler may call one of the other interrupt handler functions to be converted into that interrupt context without these restrictions. so if you want the fancy features, that's the glow-up path π
On PPC64, _RAW handlers may return with fast_interrupt_return. iconic platform-specific behavior, we love to see it β
Specific handlers may have additional restrictions. always check, babes β no assuming π§
π SEE ALSO π
- Kernel file
./arch/powerpc/include/asm/interrupt.hβ go read it, it's right there π DECLARE_INTERRUPT_HANDLER_RAW(9)DECLARE_INTERRUPT_HANDLER(9)DEFINE_INTERRUPT_HANDLER(9)DECLARE_INTERRUPT_HANDLER_RET(9)DEFINE_INTERRUPT_HANDLER_RET(9)DECLARE_INTERRUPT_HANDLER_ASYNC(9)DEFINE_INTERRUPT_HANDLER_ASYNC(9)DECLARE_INTERRUPT_HANDLER_NMI(9)DEFINE_INTERRUPT_HANDLER_NMI(9)
that's the whole friend group, go say hi to all of them π«Ά
and that's the page!! source is ./arch/powerpc/include/asm, dated October 2026, served fresh from the Kernel API Manual. mwah, go write some raw interrupt handlers responsibly πβ¨π
π¦ 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