PatchworkOS  966e257
A non-POSIX operating system.
Loading...
Searching...
No Matches
apic_timer.c File Reference
Include dependency graph for apic_timer.c:

Go to the source code of this file.

Functions

static uint64_t apic_timer_ticks_per_ms (void)
 
static void apic_timer_set (irq_virt_t virt, clock_t uptime, clock_t timeout)
 
static void apic_timer_eoi (cpu_t *cpu)
 
uint64_t apic_timer_init (void)
 Initialize the APIC timer subsystem.
 

Variables

static timer_source_t apicTimer
 

Function Documentation

◆ apic_timer_ticks_per_ms()

static uint64_t apic_timer_ticks_per_ms ( void  )
static

Definition at line 14 of file apic_timer.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ apic_timer_set()

static void apic_timer_set ( irq_virt_t  virt,
clock_t  uptime,
clock_t  timeout 
)
static

Definition at line 34 of file apic_timer.c.

Here is the call graph for this function:

◆ apic_timer_eoi()

static void apic_timer_eoi ( cpu_t cpu)
static

Definition at line 67 of file apic_timer.c.

Here is the call graph for this function:

Variable Documentation

◆ apicTimer

timer_source_t apicTimer
static
Initial value:
= {
.name = "APIC Timer",
.precision = 1000,
.ack = NULL,
}
static void apic_timer_eoi(cpu_t *cpu)
Definition apic_timer.c:67
static void apic_timer_set(irq_virt_t virt, clock_t uptime, clock_t timeout)
Definition apic_timer.c:34
#define NULL
Pointer error value.
Definition NULL.h:23

According to https://telematics.tm.kit.edu/publications/Files/61/walter_ibm_linux_challenge.pdf, the APIC timer has a precision of 1 microsecond.

Definition at line 78 of file apic_timer.c.