Kernel: Add function to retrieve boot time as timespec

This commit is contained in:
Bananymous
2023-08-04 15:44:32 +03:00
parent 1f8a5f0ce5
commit ca5a097ef5
7 changed files with 55 additions and 6 deletions

View File

@@ -11,6 +11,7 @@ namespace Kernel
static BAN::ErrorOr<BAN::UniqPtr<HPET>> create();
virtual uint64_t ms_since_boot() const override;
virtual timespec time_since_boot() const override;
private:
HPET() = default;

View File

@@ -14,6 +14,7 @@ namespace Kernel
static BAN::ErrorOr<BAN::UniqPtr<PIT>> create();
virtual uint64_t ms_since_boot() const override;
virtual timespec time_since_boot() const override;
private:
void initialize();

View File

@@ -12,16 +12,19 @@ namespace Kernel
public:
virtual ~Timer() {};
virtual uint64_t ms_since_boot() const = 0;
virtual timespec time_since_boot() const = 0;
};
class TimerHandler
class TimerHandler : public Timer
{
public:
static void initialize();
static TimerHandler& get();
static bool is_initialized();
uint64_t ms_since_boot() const;
virtual uint64_t ms_since_boot() const override;
virtual timespec time_since_boot() const override;
void sleep(uint64_t) const;
uint64_t get_unix_timestamp();