|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include "hal/apic/apic.h"#include <hal/cpu/core.h>#include "hal/cpu/interrupt.h"#include "init/init.h"#include "libk/serial.h"#include <type.h>#include <hal/acpi/hpet.h>#include <hal/timer/timer.h>Go to the source code of this file.
Functions | |
| void | vxInitializeAPICTimer () |
| static void | usleep_backend (interrupt_stack_frame_t *_) |
| void | setup_timer_interrupt () |
| void | usleep (const uint64_t time_ns) |
| INIT (Timer) | |
| void | init_timer_counter (time_counter_t *counter) |
| uint64_t | get_timer_counter_count (time_counter_t *counter) |
| uint64_t | get_timer_counter_count_ms (time_counter_t *counter) |
| uint64_t | get_timer_counter_count_ns (time_counter_t *counter) |
Variables | |
| uint64_t | calibrated_ticks_1us |
| boolean_t | g__scheduler__is__running |
| static boolean_t | trigerred = 0 |
| uint64_t get_timer_counter_count | ( | time_counter_t * | counter | ) |
Definition at line 60 of file timer.c.
References time_counter_t::current, and vxHPETGetMainCount().
Referenced by get_timer_counter_count_ns(), and vxAPICTimerCalibrationUsingHPET().
| uint64_t get_timer_counter_count_ms | ( | time_counter_t * | counter | ) |
Definition at line 64 of file timer.c.
References time_counter_t::current, ns2ms, vxHPETGetMainCount(), and vxHPETMinTickNs().
| uint64_t get_timer_counter_count_ns | ( | time_counter_t * | counter | ) |
Definition at line 69 of file timer.c.
References get_timer_counter_count(), and vxHPETMinTickNs().
Referenced by vxAPICTimerCalibrationUsingHPET().
| INIT | ( | Timer | ) |
Definition at line 48 of file timer.c.
References LOG2_INFO, setup_timer_interrupt(), and vxInitializeAPICTimer().
| void init_timer_counter | ( | time_counter_t * | counter | ) |
Definition at line 56 of file timer.c.
References time_counter_t::current, and vxHPETGetMainCount().
Referenced by vxAPICTimerCalibrationUsingHPET().
| void setup_timer_interrupt | ( | void | ) |
Definition at line 26 of file timer.c.
References get_current_core_cpuid(), INTERRUPT_ATTR_KERNEL, irq_register(), and usleep_backend().
Referenced by __attribute__(), and INIT().
| void usleep | ( | const uint64_t | time_ns | ) |
Definition at line 31 of file timer.c.
References APIC_TIMER_ONE_SHOT, core, each_core_data, g__scheduler__is__running, get_current_core_data(), vxAPICCreateTimer(), vxHPETIsAvailable(), and vxHPETSleep().
Referenced by wait_until_receive_notify().
|
static |
Definition at line 16 of file timer.c.
References core, each_core_data, get_current_core_data(), LOG2_DEBUG, and trigerred.
Referenced by setup_timer_interrupt().
|
extern |
Definition at line 148 of file apic_timer.c.
References calibrated_ticks_1ns, get_current_core_cpuid(), and vxAPICTimerCalibrationUsingHPET().
Referenced by INIT().
|
extern |
|
extern |
Definition at line 19 of file scheduler.c.
|
static |
Definition at line 14 of file timer.c.
Referenced by usleep_backend().