StuBS
|
#include "machine/hpet.h"
#include "machine/acpi.h"
#include "machine/core.h"
#include "debug/assert.h"
#include "debug/kernelpanic.h"
#include "debug/output.h"
Classes | |
struct | HPET::ConfigurationRegister.__unnamed38__ |
Namespaces | |
namespace | HPET |
Abstraction of the HPET existing in "modern" computers (since ~2005) | |
Typedefs | |
typedef uint64_t | HPET::InterruptStatusRegister |
Global state register for interrupts. | |
Enumerations | |
enum | HPET::RegisterOffset : uint16_t { HPET::CAPABILITIES_AND_ID = 0x000 , HPET::CONFIGURATION = 0x010 , HPET::INTERRUPT_STATUS = 0x020 , HPET::MAIN_COUNTER = 0x0f0 } |
Register Offsets. More... | |
Functions | |
static uint64_t | HPET::read (RegisterOffset offset) |
static void | HPET::write (RegisterOffset offset, uint64_t value) |
static uint64_t | HPET::getTicks (uint64_t usecs) |
bool | HPET::init () |
Initializes the HPET system from ACPI Table. | |
void | HPET::delay (uint64_t usecs) |
Delays the caller's execution by approx. | |
bool | HPET::isEnabled () |
Checks whether the HPET system is enabled. | |
void | HPET::reset () |
Reset the global counter to zero. | |
uint64_t | HPET::get () |
void | HPET::enable () |
Activate the HPET system. | |
void | HPET::disable () |
Deactivate the HPET system. | |
size_t | HPET::countComparators () |
Retrieve the number of HPET comparators. | |
Comparator * | HPET::getComparator (size_t n) |
Returns a pointer to the n th timer comparator. | |
Constants | |
uintptr_t | HPET::base_address = 0 |
static uint16_t | HPET::min_periodic_clock_tick |