MOS Source Code
|
#include <mos/mm/paging/paging.h>
#include <mos/mm/physical/pmm.h>
#include <mos/mos_global.h>
#include <mos/platform/platform.h>
#include <mos/syslog/printk.h>
#include <mos/x86/acpi/madt.h>
#include <mos/x86/cpu/cpu.h>
#include <mos/x86/cpu/cpuid.h>
#include <mos/x86/interrupt/apic.h>
#include <mos/x86/mm/paging_impl.h>
#include <mos/x86/x86_platform.h>
Go to the source code of this file.
Functions | |
u32 | lapic_read32 (u32 offset) |
u64 | lapic_read64 (u32 offset) |
void | lapic_write32 (u32 offset, u32 value) |
void | lapic_write64 (u32 offset, u64 value) |
static void | lapic_wait_sent (void) |
void | lapic_interrupt_full (u8 vec, u8 dest, lapic_delivery_mode_t delivery_mode, lapic_dest_mode_t dest_mode, bool level, bool trigger, lapic_shorthand_t shorthand) |
void | lapic_interrupt (u8 vec, u8 dest, lapic_delivery_mode_t delivery_mode, lapic_dest_mode_t dest_mode, lapic_shorthand_t shorthand) |
static void | lapic_memory_setup (void) |
void | lapic_enable (void) |
void | lapic_set_timer (u32 initial_count) |
void | lapic_eoi (void) |
Variables | |
static ptr_t | lapic_regs = 0 |
#define APIC_REG_EOI 0xB0 |
Definition at line 19 of file lapic.c.
Referenced by lapic_eoi().
#define APIC_REG_SPURIOUS_INTR_VEC 0xF0 |
Definition at line 23 of file lapic.c.
Referenced by lapic_enable().
#define APIC_REG_ERROR_STATUS 0x280 |
Definition at line 24 of file lapic.c.
Referenced by lapic_interrupt_full().
#define APIC_REG_TIMER_INITIAL_COUNT 0x380 |
Definition at line 25 of file lapic.c.
Referenced by lapic_set_timer().
#define APIC_REG_TIMER_DIVIDE_CONFIG 0x3E0 |
Definition at line 27 of file lapic.c.
Referenced by lapic_set_timer().
#define APIC_REG_LVT_TIMER 0x320 |
Definition at line 30 of file lapic.c.
Referenced by lapic_set_timer().
#define APIC_INTERRUPT_COMMAND_REG_BEGIN 0x300 |
Definition at line 49 of file lapic.c.
Referenced by lapic_interrupt_full(), and lapic_wait_sent().
Definition at line 56 of file lapic.c.
Referenced by lapic_enable(), lapic_get_id(), and lapic_wait_sent().
Definition at line 72 of file lapic.c.
Referenced by lapic_enable(), lapic_eoi(), lapic_interrupt_full(), and lapic_set_timer().
Definition at line 79 of file lapic.c.
Referenced by lapic_interrupt_full().
Definition at line 87 of file lapic.c.
Referenced by lapic_interrupt_full().
void lapic_interrupt_full | ( | u8 | vec, |
u8 | dest, | ||
lapic_delivery_mode_t | delivery_mode, | ||
lapic_dest_mode_t | dest_mode, | ||
bool | level, | ||
bool | trigger, | ||
lapic_shorthand_t | shorthand ) |
Definition at line 94 of file lapic.c.
Referenced by lapic_interrupt().
void lapic_interrupt | ( | u8 | vec, |
u8 | dest, | ||
lapic_delivery_mode_t | delivery_mode, | ||
lapic_dest_mode_t | dest_mode, | ||
lapic_shorthand_t | shorthand ) |
Definition at line 111 of file lapic.c.
Referenced by platform_ipi_send().
Definition at line 116 of file lapic.c.
Referenced by lapic_enable().
Definition at line 136 of file lapic.c.
Referenced by platform_ap_entry(), and platform_startup_late().
Definition at line 151 of file lapic.c.
Referenced by x86_setup_lapic_timer().
Definition at line 158 of file lapic.c.
Referenced by x86_handle_irq(), and x86_interrupt_entry().
|
static |
Definition at line 54 of file lapic.c.
Referenced by lapic_memory_setup(), lapic_read32(), lapic_read64(), lapic_write32(), and lapic_write64().