mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-05-28 15:34:33 +00:00
APIC interrupts working
This commit is contained in:
parent
d5447c288e
commit
4ca5db1fee
@ -49,6 +49,7 @@ namespace APIC
|
||||
|
||||
void APIC::Write(uint32_t Register, uint32_t Value)
|
||||
{
|
||||
if (Register != APIC_EOI)
|
||||
debug("APIC::Write(%#lx, %#lx)", Register, Value);
|
||||
if (x2APICSupported)
|
||||
{
|
||||
@ -216,7 +217,7 @@ namespace APIC
|
||||
|
||||
void Timer::OnInterruptReceived(CPU::x64::TrapFrame *Frame)
|
||||
{
|
||||
fixme("APIC IRQ0 INTERRUPT RECEIVED ON CPU %d", CPU::x64::rdmsr(CPU::x64::MSR_FS_BASE));
|
||||
// fixme("APIC IRQ0 INTERRUPT RECEIVED ON CPU %d", CPU::x64::rdmsr(CPU::x64::MSR_FS_BASE));
|
||||
}
|
||||
|
||||
Timer::Timer(APIC *apic) : Interrupts::Handler(CPU::x64::IRQ0)
|
||||
|
@ -72,7 +72,7 @@ extern "C" void StartCPU()
|
||||
CPU::Interrupts(CPU::Enable);
|
||||
KPrint("CPU %d is online", CPU_ID);
|
||||
CPUEnabled = true;
|
||||
CPU::Stop();
|
||||
CPU::Stop(); // Stop and surpress interrupts.
|
||||
}
|
||||
|
||||
namespace SMP
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
#include <uart.hpp>
|
||||
#include <printf.h>
|
||||
#include <lock.hpp>
|
||||
|
||||
NEWLOCK(DebuggerLock);
|
||||
|
||||
using namespace UniversalAsynchronousReceiverTransmitter;
|
||||
|
||||
@ -54,6 +57,7 @@ namespace SysDbg
|
||||
|
||||
void WriteLine(DebugLevel Level, const char *File, int Line, const char *Function, const char *Format, ...)
|
||||
{
|
||||
SMARTLOCK(DebuggerLock);
|
||||
WritePrefix(Level, File, Line, Function);
|
||||
va_list args;
|
||||
va_start(args, Format);
|
||||
|
Loading…
x
Reference in New Issue
Block a user