Xen Test Framework
|
x86 Local APIC register definitions and utility functions. More...
Go to the source code of this file.
Macros | |
#define | APIC_ID 0x020 |
#define | APIC_LVR 0x030 |
#define | APIC_SPIV 0x0f0 |
#define | APIC_SPIV_APIC_ENABLED 0x00100 |
#define | APIC_ESR 0x280 |
#define | APIC_SIV 0x00020 /* Send Illegal Vector */ |
#define | APIC_RIV 0x00040 /* Recieve Illegal Vector */ |
#define | APIC_ICR 0x300 |
#define | APIC_DM_FIXED 0x00000 |
#define | APIC_DM_NMI 0x00400 |
#define | APIC_ICR_BUSY 0x01000 |
#define | APIC_DEST_SELF 0x40000 |
#define | APIC_ICR2 0x310 |
#define | APIC_LVTERR 0x370 |
#define | APIC_DEFAULT_BASE 0xfee00000ul |
#define | TEST_APIC_MODE 0 |
#define | CUR_APIC_MODE (TEST_APIC_MODE ?: cur_apic_mode) |
Enumerations | |
enum | apic_mode { APIC_MODE_UNKNOWN , APIC_MODE_NONE , APIC_MODE_DISABLED , APIC_MODE_XAPIC , APIC_MODE_X2APIC } |
Functions | |
int | apic_init (enum apic_mode mode) |
Discover and initialise the local APIC to the requested mode. More... | |
static uint32_t | apic_mmio_read (unsigned int reg) |
static void | apic_mmio_write (unsigned int reg, uint32_t val) |
static void | apic_mmio_icr_write (uint64_t val) |
static uint32_t | apic_msr_read (unsigned int reg) |
static void | apic_msr_write (unsigned int reg, uint32_t val) |
static void | apic_msr_icr_write (uint64_t val) |
static uint32_t | apic_read (unsigned int reg) |
static void | apic_write (unsigned int reg, uint32_t val) |
static void | apic_icr_write (uint64_t val) |
Variables | |
enum apic_mode | cur_apic_mode |
x86 Local APIC register definitions and utility functions.
The xAPIC MMIO window is expected to be in its default location for the benefit of unpaged environments.
Definition in file apic.h.
#define CUR_APIC_MODE (TEST_APIC_MODE ?: cur_apic_mode) |
enum apic_mode |
int apic_init | ( | enum apic_mode | mode | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |