1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 22:48:11 +00:00

Kernel: Various APIC timer fixes

This commit is contained in:
Tom 2020-10-25 20:10:02 -06:00 committed by Andreas Kling
parent b8ad4932a9
commit 8c764319ad
2 changed files with 1 additions and 2 deletions

View file

@ -588,7 +588,6 @@ void APIC::setup_local_timer(u32 ticks, TimerMode timer_mode, bool enable)
default: default:
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }
config |= 3; // divide by 16
write_register(APIC_REG_TIMER_CONFIGURATION, config); write_register(APIC_REG_TIMER_CONFIGURATION, config);
if (timer_mode == TimerMode::Periodic) if (timer_mode == TimerMode::Periodic)

View file

@ -115,7 +115,7 @@ bool APICTimer::calibrate(HardwareTimerBase& calibration_source)
auto delta_apic_count = end_apic_count - start_apic_count; auto delta_apic_count = end_apic_count - start_apic_count;
m_timer_period = (delta_apic_count * apic.get_timer_divisor()) / ticks_in_100ms; m_timer_period = (delta_apic_count * apic.get_timer_divisor()) / ticks_in_100ms;
auto apic_freq = (delta_apic_count * 16) / apic.get_timer_divisor(); auto apic_freq = (delta_apic_count * apic.get_timer_divisor()) / apic.get_timer_divisor();
if (apic_freq < 1000000) { if (apic_freq < 1000000) {
klog() << "APICTimer: Frequency too slow!"; klog() << "APICTimer: Frequency too slow!";
return false; return false;