Kernel: Fix HPET interrupt routing

If the HPET did not support legacy routing we would still use IRQ0 which
lead to using PIT irq which fired ~18 times per second
This commit is contained in:
2026-06-26 00:56:33 +03:00
parent 5aea95129e
commit ac0ef53e87
5 changed files with 79 additions and 48 deletions

View File

@@ -11,12 +11,12 @@ namespace Kernel
static SystemTimer* s_instance = nullptr;
void SystemTimer::initialize(bool force_pic)
void SystemTimer::initialize()
{
ASSERT(s_instance == nullptr);
auto* temp = new SystemTimer;
ASSERT(temp);
temp->initialize_timers(force_pic);
temp->initialize_timers();
s_instance = temp;
}
@@ -31,12 +31,12 @@ namespace Kernel
return !!s_instance;
}
void SystemTimer::initialize_timers(bool force_pic)
void SystemTimer::initialize_timers()
{
m_rtc = MUST(BAN::UniqPtr<RTC>::create());
m_boot_time = BAN::to_unix_time(m_rtc->get_current_time());
if (auto res = HPET::create(force_pic); res.is_error())
if (auto res = HPET::create(); res.is_error())
dwarnln("HPET: {}", res.error());
else
{