1
Files
interrupt-handling-using-th…/code/interruptdispatcher_dispatch.cpp
2023-03-02 17:29:30 +01:00

12 lines
457 B
C++

// Excerpt from the "dispatch" function
void InterruptDispatcher::dispatch(InterruptVector vec) {
interruptService.sendEndOfInterrupt(vec); // Signal interrupt servicing
asm volatile("sti"); // Allow cascaded interrupts
auto *handlerList = handlers[vec];
for (uint32_t i = 0; i < handlerList->size(); i++) {
handlerList->get(i)->trigger(); // Call registered interrupt handlers
}
asm volatile("cli");
}