Kernel: Change the Spurious Interrupt Handler offset in the APIC
The Spurious Interrupt Handler number that is written to APIC_REG_SIV is correct now.
This commit is contained in:
parent
f7b207c7ae
commit
7c859efa85
Notes:
sideshowbarker
2024-07-19 08:09:39 +09:00
Author: https://github.com/supercomputer7 Commit: https://github.com/SerenityOS/serenity/commit/7c859efa85f Pull-request: https://github.com/SerenityOS/serenity/pull/1361 Reviewed-by: https://github.com/awesomekling
1 changed files with 2 additions and 1 deletions
|
@ -159,6 +159,7 @@ void eoi()
|
|||
|
||||
bool init()
|
||||
{
|
||||
// FIXME: Use the ACPI MADT table
|
||||
if (!MSR::have())
|
||||
return false;
|
||||
|
||||
|
@ -189,7 +190,7 @@ void enable(u32 cpu)
|
|||
// dummy read, apparently to avoid a bug in old CPUs.
|
||||
read_register(APIC_REG_SIV);
|
||||
// set spurious interrupt vector
|
||||
write_register(APIC_REG_SIV, IRQ_APIC_SPURIOUS | 0x100);
|
||||
write_register(APIC_REG_SIV, (IRQ_APIC_SPURIOUS + IRQ_VECTOR_BASE) | 0x100);
|
||||
|
||||
// local destination mode (flat mode)
|
||||
write_register(APIC_REG_DF, 0xf0000000);
|
||||
|
|
Loading…
Add table
Reference in a new issue