Kernel: Don't save/restore sse or reschedule on spurious interrupts

I think these should be just fully ignored :D
This commit is contained in:
Bananymous 2026-01-06 15:52:59 +02:00
parent 60ec5d30fd
commit 8634bbb792
1 changed files with 8 additions and 8 deletions

View File

@ -382,16 +382,16 @@ namespace Kernel
asm volatile("cli; 1: hlt; jmp 1b"); asm volatile("cli; 1: hlt; jmp 1b");
} }
if (!InterruptController::get().is_in_service(irq))
return;
Thread::current().save_sse(); Thread::current().save_sse();
if (InterruptController::get().is_in_service(irq)) InterruptController::get().eoi(irq);
{ if (auto* handler = s_interruptables[irq])
InterruptController::get().eoi(irq); handler->handle_irq();
if (auto* handler = s_interruptables[irq]) else
handler->handle_irq(); dprintln("no handler for irq 0x{2H}", irq);
else
dprintln("no handler for irq 0x{2H}", irq);
}
auto& current_thread = Thread::current(); auto& current_thread = Thread::current();
if (current_thread.can_add_signal_to_execute()) if (current_thread.can_add_signal_to_execute())