Initial commit
This commit is contained in:
7
code/ioapic_write_redtbl.cpp
Normal file
7
code/ioapic_write_redtbl.cpp
Normal file
@ -0,0 +1,7 @@
|
||||
void IoApic::writeREDTBL(GlobalSystemInterrupt gsi, const REDTBLEntry &redtbl) {
|
||||
auto val = static_cast<uint64_t>(redtbl);
|
||||
redtblLock.acquire(); // Synchronized in case of multiple APs
|
||||
writeIndirectRegister(0x10 + 2 * gsi, val & 0xFFFFFFFF); // Low DW
|
||||
writeIndirectRegister(0x10 + 2 * gsi + 1, val >> 32); // High DW
|
||||
redtblLock.release();
|
||||
}
|
||||
Reference in New Issue
Block a user