![]() |
My Project
|
#include "../../includes/me.h"#include "../../includes/mh.h"#include "../../includes/mm.h"#include "../../includes/mg.h"#include "../../assert.h"#include <stddef.h>#include <stdint.h>Go to the source code of this file.
Macros | |
| #define | IA32_APIC_BASE_MSR 0x1BULL |
| #define | APIC_BASE_RESERVED 0xFFF0000000000000ULL |
| #define | LAPIC_PAGE_SIZE 0x1000 |
| #define | LAPIC_MAP_FLAGS (PAGE_PRESENT | PAGE_RW | PAGE_PCD) |
| #define | APIC_LVT_TIMER_PERIODIC (1U << 17) |
| #define | APIC_TIMER_MASKED (1U << 16) |
Enumerations | |
| enum | { LAPIC_VERSION = 0x030 , LAPIC_TPR = 0x080 , LAPIC_EOI = 0x0B0 , LAPIC_SVR = 0x0F0 , LAPIC_ESR = 0x280 , LAPIC_ICR_LOW = 0x300 , LAPIC_ICR_HIGH = 0x310 , LAPIC_LVT_TIMER = 0x320 , LAPIC_LVT_THERMAL = 0x330 , LAPIC_LVT_PCC = 0x340 , LAPIC_LVT_LINT0 = 0x350 , LAPIC_LVT_LINT1 = 0x360 , LAPIC_LVT_ERROR = 0x370 , LAPIC_TIMER_INITCNT = 0x380 , LAPIC_TIMER_CURRCNT = 0x390 , LAPIC_TIMER_DIV = 0x3E0 } |
Functions | |
| uint32_t | lapic_mmio_read (uint32_t off) |
| void | lapic_mmio_write (uint32_t off, uint32_t val) |
| void | lapic_init_siv (void) |
| void | lapic_enable (void) |
| void | lapic_init_cpu (void) |
| void | lapic_send_ipi (uint8_t apic_id, uint8_t vector, uint32_t flags) |
| void | lapic_eoi (void) |
| void | lapic_timer_calibrate (void) |
| int | init_lapic_timer (uint32_t hz) |
| void | MhRequestSoftwareInterrupt (IN IRQL RequestIrql) |
| #define LAPIC_MAP_FLAGS (PAGE_PRESENT | PAGE_RW | PAGE_PCD) |
| anonymous enum |
| void lapic_send_ipi | ( | uint8_t | apic_id, |
| uint8_t | vector, | ||
| uint32_t | flags ) |