Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
hpet.h
Go to the documentation of this file.
1#ifndef __HAL__ACPI__HPET_H__
2#define __HAL__ACPI__HPET_H__
4#include <type.h>
6#define HPET_GENERAL_CAP_ID 0x0
7#define HPET_GENERAL_CONFIG 0x10
8#define HPET_ENABLE_CNF 0x1
9#define HPET_MAIN_COUNT 0x0F0
10#define HPET_TIMER_CONFIG(N) 0x100 + N * 0x20
11#define HPET_TIMER_COMPARATOR(N) 0x108 + N * 0x20
12#define ms2ns(ms) ((uint64_t) (ms) * 1000000ULL)
13#define us2ns(us) ((uint64_t) (us) * 1000ULL)
14#define ns2ms(x) (x) / 1000000
15
23
35
49
51void hpet_level_timer_setup(uint32_t n, uint64_t tick_count, int irq);
53void hpet_enable();
54void hpet_disable();
56void vxHPETSleep(uint64_t ns);
58
59#endif // __HAL__ACPI__HPET_H__
volatile uint64_t addr
Definition e1000.hpp:0
void hpet_disable()
Definition hpet.c:32
boolean_t vxHPETIsAvailable()
Definition hpet.c:14
void vxHPETInitialize(uintptr_t addr)
Definition hpet.c:54
void vxHPETSleep(uint64_t ns)
Definition hpet.c:86
void hpet_level_timer_setup(uint32_t n, uint64_t tick_count, int irq)
Definition hpet.c:42
void hpet_enable()
Definition hpet.c:26
uint64_t vxHPETGetMainCount()
Definition hpet.c:82
uint64_t vxHPETMinTickNs(void)
Definition hpet.c:36
typedef __attribute__
Definition msi.c:47
uint8_t address_space_id
Definition hpet.h:17
uint64_t address
Definition hpet.h:21
uint8_t reserved
Definition hpet.h:20
uint8_t register_bit_width
Definition hpet.h:18
uint8_t register_bit_offset
Definition hpet.h:19
uint32_t creator_id
Definition hpet.h:32
uint32_t creator_revision
Definition hpet.h:33
uint32_t oem_revision
Definition hpet.h:31
uint64_t oem_tableid
Definition hpet.h:30
Definition hpet.h:36
struct address_structure address
Definition hpet.h:44
uint8_t hardware_rev_id
Definition hpet.h:38
uint8_t comparator_count
Definition hpet.h:39
uint16_t minimum_tick
Definition hpet.h:46
struct description_table_header header
Definition hpet.h:37
uint8_t legacy_replacement
Definition hpet.h:42
uint8_t counter_size
Definition hpet.h:40
uint8_t page_protection
Definition hpet.h:47
uint16_t pci_vendor_id
Definition hpet.h:43
uint8_t reserved
Definition hpet.h:41
uint8_t hpet_number
Definition hpet.h:45
unsigned short uint16_t
Definition type.h:13
unsigned int uint32_t
Definition type.h:19
uint8_t boolean_t
Definition type.h:89
unsigned long uintptr_t
Definition type.h:73
unsigned long uint64_t
Definition type.h:25
unsigned char uint8_t
Definition type.h:7