Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
apic_timer.c File Reference
#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
 

Macro Definition Documentation

◆ APIC_TIMER_MASKED

#define APIC_TIMER_MASKED   (1 << 16)

Definition at line 158 of file apic_timer.c.

Referenced by vxAPICCreateTimer().

◆ APIC_TIMER_MIN_VECTOR

#define APIC_TIMER_MIN_VECTOR   0x20

Definition at line 160 of file apic_timer.c.

Function Documentation

◆ vxAPICCreateDeadlineTimer()

void vxAPICCreateDeadlineTimer ( const uint8_t vector,
const uint64_t freq_us )

◆ vxAPICCreateTimer()

◆ vxAPICReadTSC()

static uint64_t vxAPICReadTSC ( )
static

Definition at line 19 of file apic_timer.c.

Referenced by vxAPICCreateDeadlineTimer().

◆ vxAPICTimerCalibrationUsingHPET()

◆ vxInitializeAPICTimer()

void vxInitializeAPICTimer ( )

◆ vxTSChasInvariant()

bool vxTSChasInvariant ( void )

Definition at line 35 of file apic_timer.c.

References cpuid().

Variable Documentation

◆ calibrated_ticks_1ns

uint64_t calibrated_ticks_1ns = 0
static

◆ calibrated_tsmc_freq_1ms

uint64_t calibrated_tsmc_freq_1ms = 0
static

Definition at line 15 of file apic_timer.c.

Referenced by vxAPICCreateDeadlineTimer().

◆ x2_apic_supported

uint8_t x2_apic_supported
extern

Definition at line 16 of file apic.c.