From bfe3426f6d148f75b39bdb1d2d0e3e812e367e20 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Thu, 26 Jan 2023 13:13:46 +0200 Subject: [PATCH] Kernel: Add processor dump flag to APIC --- kernel/kernel/APIC.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/kernel/kernel/APIC.cpp b/kernel/kernel/APIC.cpp index 336fda79..83cadaf3 100644 --- a/kernel/kernel/APIC.cpp +++ b/kernel/kernel/APIC.cpp @@ -14,6 +14,8 @@ #define IOAPIC_MAX_REDIRS 0x01 #define IOAPIC_REDIRS 0x10 +#define DEBUG_PRINT_PROCESSORS 0 + // https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#multiple-apic-description-table-madt-format static constexpr uint32_t RSPD_SIZE = 20; @@ -288,6 +290,15 @@ APIC* APIC::Create() uint32_t sivr = apic->ReadFromLocalAPIC(LAPIC_SIV_REG); apic->WriteToLocalAPIC(LAPIC_SIV_REG, sivr | 0x1FF); +#if DEBUG_PRINT_PROCESSORS + for (auto& processor : apic->m_processors) + { + dprintln("Processor{}", processor.processor_id); + dprintln(" lapic id: {}", processor.apic_id); + dprintln(" status: {}", (processor.flags & Processor::Flags::Enabled) ? "enabled" : (processor.flags & Processor::Flags::OnlineCapable) ? "can be enabled" : "disabled"); + } +#endif + return apic; }