|
PatchworkOS
321f6ec
A non-POSIX operating system.
|
#include <modules/drivers/apic/lapic.h>#include <kernel/cpu/cpu.h>#include <kernel/cpu/ipi.h>#include <kernel/cpu/irq.h>#include <kernel/log/log.h>#include <kernel/mem/vmm.h>#include <kernel/utils/utils.h>#include <modules/acpi/tables.h>#include <assert.h>#include <kernel/defs.h>Go to the source code of this file.
Functions | |
| uint32_t | lapic_read (uint32_t reg) |
| Read from a local apic register. | |
| void | lapic_write (uint32_t reg, uint32_t value) |
| Write to a local apic register. | |
| void | lapic_init (cpu_t *cpu) |
| Initialize the local APIC for a CPU. | |
| lapic_t * | lapic_get (uint32_t cpuId) |
| Get the lapic data for the specified CPU. | |
| static void | lapic_interrupt (cpu_t *cpu, irq_virt_t virt) |
| static void | lapic_eoi (cpu_t *cpu) |
| uint64_t | lapic_global_init (void) |
| Initialize the local APIC subsystem. | |
| void | lapic_send_init (lapic_id_t id) |
| Send an INIT IPI to the specified local APIC. | |
| void | lapic_send_sipi (lapic_id_t id, void *entryPoint) |
| Send a Startup IPI (SIPI) to the specified local APIC. | |
Variables | |
| static uintptr_t | lapicBase = 0 |
| static lapic_t | lapics [CPU_MAX] = {[0 ... CPU_MAX - 1] = {.lapicId = -1, .ticksPerMs = 0}} |
| static ipi_chip_t | lapicIpiChip |
|
static |
|
static |
|
static |