MCPcopy Create free account
hub / github.com/LemonOSProject/LemonOS / irq_handler

Function irq_handler

Kernel/src/arch/x86_64/idt.cpp:324–334  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

322
323 extern "C"
324 void irq_handler(int int_num, regs64_t* regs) {
325 LocalAPICEOI();
326
327 if (__builtin_expect(interrupt_handlers[int_num].handler != 0, 1)) {
328 ISRDataPair pair = interrupt_handlers[int_num];
329 pair.handler(pair.data, regs);
330 } else {
331 Log::Warning("Unhandled IRQ: ");
332 Log::Write(int_num);
333 }
334 }
335
336 extern "C"
337 void ipi_handler(int int_num, regs64_t* regs) {

Callers

nothing calls this directly

Calls 3

LocalAPICEOIFunction · 0.85
WarningFunction · 0.85
WriteFunction · 0.70

Tested by

no test coverage detected