Kernel: HPET is now used in legacy mode when PIC is forced

This commit is contained in:
2023-08-10 22:01:30 +03:00
parent b0c8a9cdc4
commit 5d0a6e7b08
5 changed files with 41 additions and 29 deletions

View File

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