Luna/kernel/src/arch/Timer.h

37 lines
643 B
C
Raw Normal View History

2022-11-19 19:01:01 +00:00
#pragma once
#include <luna/Types.h>
2022-11-19 19:01:01 +00:00
#ifdef ARCH_X86_64
#include "arch/x86_64/Timer.h"
#else
#error "Unknown architecture."
#endif
2022-11-19 19:01:01 +00:00
static const usize MS_PER_SECOND = 1000;
static const usize US_PER_SECOND = MS_PER_SECOND * 1000;
static const usize NS_PER_SECOND = US_PER_SECOND * 1000;
namespace Timer
{
void tick();
usize raw_ticks();
usize ticks();
usize ticks_ms();
usize ticks_us();
usize ticks_ns();
usize boot();
usize boot_ms();
usize boot_us();
usize boot_ns();
usize clock();
usize clock_ms();
usize clock_us();
usize clock_ns();
void arch_init();
void init();
}