|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include <hal/cpu/core.h>#include "hal/cpu/cpuid.h"#include "hal/cpu/interrupt.h"#include "hal/cpu/msr.h"#include "hal/timer/timer.h"#include "init/init.h"#include "libk/io.h"#include "libk/serial.h"#include <hal/acpi/hpet.h>#include <hal/apic/apic.h>Go to the source code of this file.
Macros | |
| #define | APIC_TIMER_MASKED (1 << 16) |
| #define | APIC_TIMER_MIN_VECTOR 0x20 |
Functions | |
| void | vxInitializeAPICTimer () |
| static uint64_t | vxAPICReadTSC () |
| bool | vxTSChasInvariant (void) |
| static void | vxAPICTimerCalibrationUsingHPET () |
| void | vxAPICCreateTimer (uint32_t type, uint64_t interval_us, uint16_t vector) |
| void | vxAPICCreateDeadlineTimer (const uint8_t vector, const uint64_t freq_us) |
Variables | |
| static uint64_t | calibrated_ticks_1ns = 0 |
| static uint64_t | calibrated_tsmc_freq_1ms = 0 |
| uint8_t | x2_apic_supported |
| #define APIC_TIMER_MASKED (1 << 16) |
Definition at line 158 of file apic_timer.c.
Referenced by vxAPICCreateTimer().
| #define APIC_TIMER_MIN_VECTOR 0x20 |
Definition at line 160 of file apic_timer.c.
Definition at line 202 of file apic_timer.c.
References APIC_TIMER_DEADLINE, apic_write(), calibrated_tsmc_freq_1ms, LVT_TIMER, vector, vxAPICReadTSC(), and vxWRSR().
Definition at line 162 of file apic_timer.c.
References apic_read(), APIC_TIMER_MASKED, APIC_TIMER_ONE_SHOT, APIC_TIMER_PERIOD, apic_write(), calibrated_ticks_1ns, count, LOG_ERROR, LOG_WARN, LVT_TIMER, TIMER_DIVIDE_CONFIG, TIMER_INITIAL_COUNT, type, and vector.
Referenced by __attribute__(), usleep(), and vxStartScheduler().
|
static |
Definition at line 19 of file apic_timer.c.
Referenced by vxAPICCreateDeadlineTimer().
|
static |
Definition at line 41 of file apic_timer.c.
References apic_read(), APIC_TIMER_ONE_SHOT, apic_write(), calibrated_ticks_1ns, get_current_core_data(), get_timer_counter_count(), get_timer_counter_count_ns(), hpet_disable(), hpet_enable(), init_timer_counter(), LOG2_DEBUG, LVT_TIMER, TIMER_CURRENT_COUNT, TIMER_DIVIDE_CONFIG, and TIMER_INITIAL_COUNT.
Referenced by vxInitializeAPICTimer().
| void vxInitializeAPICTimer | ( | ) |
Definition at line 148 of file apic_timer.c.
References calibrated_ticks_1ns, get_current_core_cpuid(), and vxAPICTimerCalibrationUsingHPET().
Referenced by __attribute__(), and INIT().
| bool vxTSChasInvariant | ( | void | ) |
Definition at line 35 of file apic_timer.c.
References cpuid().
|
static |
Definition at line 14 of file apic_timer.c.
Referenced by vxAPICCreateTimer(), vxAPICTimerCalibrationUsingHPET(), and vxInitializeAPICTimer().
|
static |
Definition at line 15 of file apic_timer.c.
Referenced by vxAPICCreateDeadlineTimer().