1
Files
interrupt-handling-using-th…/code/apicerror_trigger.cpp
2023-02-26 21:12:51 +01:00

9 lines
384 B
C++

void ApicErrorHandler::trigger(const InterruptFrame &frame) {
// Write/read register: Write first, then read
// Writing the ESR updates its contents and arms the interrupt again
LocalApic::writeDoubleWord(LocalApic::ESR, 0);
uint32_t errors = LocalApic::readDoubleWord(LocalApic::ESR);
log.error("APIC error on core [%d]: [0x%x]!", LocalApic::getId(), errors);
}