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.
This commit is contained in:
Tom 2020-10-29 15:07:20 -06:00 committed by Andreas Kling
commit d076b00248
Notes: sideshowbarker 2024-07-19 01:39:26 +09:00

View file

@ -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();