From d076b002485315bdaa778e4d085c4a47613e86f5 Mon Sep 17 00:00:00 2001 From: Tom Date: Thu, 29 Oct 2020 15:07:20 -0600 Subject: [PATCH] Kernel: Fix APIC timer frequency The APIC current count register decrements on each clock tick. Fixes the APIC timer firing much less frequently than it should be. --- Kernel/Time/APICTimer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Time/APICTimer.cpp b/Kernel/Time/APICTimer.cpp index 8488949794..96d792bf77 100644 --- a/Kernel/Time/APICTimer.cpp +++ b/Kernel/Time/APICTimer.cpp @@ -112,7 +112,7 @@ bool APICTimer::calibrate(HardwareTimerBase& calibration_source) disable_local_timer(); - auto delta_apic_count = end_apic_count - start_apic_count; + auto delta_apic_count = start_apic_count - end_apic_count; // The APIC current count register decrements! m_timer_period = (delta_apic_count * apic.get_timer_divisor()) / ticks_in_100ms; auto apic_freq = (delta_apic_count * apic.get_timer_divisor()) / apic.get_timer_divisor();