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

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

View File

@@ -8,14 +8,14 @@ namespace Kernel
class HPET final : public Timer
{
public:
static BAN::ErrorOr<BAN::UniqPtr<HPET>> create();
static BAN::ErrorOr<BAN::UniqPtr<HPET>> create(bool force_pic);
virtual uint64_t ms_since_boot() const override;
virtual timespec time_since_boot() const override;
private:
HPET() = default;
BAN::ErrorOr<void> initialize();
BAN::ErrorOr<void> initialize(bool force_pic);
void write_register(ptrdiff_t reg, uint64_t value) const;
uint64_t read_register(ptrdiff_t reg) const;

View File

@@ -18,7 +18,7 @@ namespace Kernel
class SystemTimer : public Timer
{
public:
static void initialize();
static void initialize(bool force_pic);
static SystemTimer& get();
static bool is_initialized();
@@ -32,7 +32,7 @@ namespace Kernel
private:
SystemTimer() = default;
void initialize_timers();
void initialize_timers(bool force_pic);
private:
uint64_t m_boot_time { 0 };