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

7 lines
309 B
C++

void LocalApic::writeICR(const ICREntry &icrEntry) {
auto val = static_cast<uint64_t>(icrEntry);
icrLock.acquire(); // Synchronized in case of multiple APs
writeDoubleWord(0x310, val >> 32);
writeDoubleWord(0x300, val & 0xFFFFFFFF); // Writing the low DW sends the IPI
icrLock.release();
}