|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include <hal/cpu/core.h>#include "hal/cpu/msr.h"#include "libk/io.h"#include "libk/serial.h"#include <hal/acpi/acpi.h>#include <hal/apic/apic.h>#include <hal/cpu/cpuid.h>Go to the source code of this file.
Macros | |
| #define | APIC_BASE_ADDR 0x1B |
| #define | X2_APIC_ICR 0x830 |
| #define | ENABLE_APIC_BIT 1 << 11 |
| #define | ENABLE_X2_APIC_BIT 1 << 10 |
Functions | |
| void | apicSetBaseAddr (uintptr_t addr) |
| static void | enable_x2apic () |
| void | apic_write (uint32_t reg, uint32_t value) |
| uint32_t | apic_read (uint32_t reg) |
| void | apicInitialize () |
| void | apic_send_ipi (uint8_t vector, uint8_t dest) |
| void | apic_eoi () |
Variables | |
| uintptr_t | lapic_base_addr = 0 |
| uint8_t | x2_apic_supported = 0 |
| void apic_eoi | ( | ) |
Definition at line 102 of file apic.c.
References APIC_EOI, and apic_write().
Referenced by __attribute__().
Definition at line 49 of file apic.c.
References lapic_base_addr, mmio_inl(), reg, vxRDMSR(), and x2_apic_supported.
Referenced by apicInitialize(), sipi_sequential(), vxAPICCreateTimer(), and vxAPICTimerCalibrationUsingHPET().
Definition at line 97 of file apic.c.
References APIC_ICR_HIGH, APIC_ICR_LOW, apic_write(), and vector.
Definition at line 40 of file apic.c.
References lapic_base_addr, mmio_outl(), reg, value, vxWRSR(), and x2_apic_supported.
Referenced by apic_eoi(), apic_send_ipi(), apicInitialize(), sipi_sequential(), vxAPICCreateDeadlineTimer(), vxAPICCreateTimer(), and vxAPICTimerCalibrationUsingHPET().
| void apicInitialize | ( | ) |
Definition at line 62 of file apic.c.
References APIC_DFR, APIC_EOI, APIC_ESR, APIC_LVT_ERR, APIC_LVT_LINT0, APIC_LVT_LINT1, APIC_LVT_PERF, APIC_LVT_TMR, apic_read(), APIC_SVR, APIC_TPR, apic_write(), cpuid(), enable_x2apic(), LOG_DEBUG, update_core_gs(), vxRDMSR(), and x2_apic_supported.
Referenced by __attribute__(), and parsing_madt().
| void apicSetBaseAddr | ( | uintptr_t | addr | ) |
Definition at line 58 of file apic.c.
References addr, and lapic_base_addr.
Referenced by parsing_madt().
|
static |
Definition at line 20 of file apic.c.
References LOG_INFO, vxRDMSR(), vxWRSR(), and x2_apic_supported.
Referenced by apicInitialize().
| uintptr_t lapic_base_addr = 0 |
Definition at line 15 of file apic.c.
Referenced by apic_read(), apic_write(), and apicSetBaseAddr().
| uint8_t x2_apic_supported = 0 |
Definition at line 16 of file apic.c.
Referenced by apic_read(), apic_write(), apicInitialize(), enable_x2apic(), initTimer(), and sipi_sequential().