StuBS
|
Classes | |
struct | LAPIC::SpuriousInterruptVectorRegister.__unnamed50__ |
Namespaces | |
namespace | LAPIC |
Abstracts the local APIC (which is integrated into every CPU core) | |
Enumerations | |
enum | LAPIC::Model { LAPIC::CLUSTER = 0x0 , LAPIC::FLAT = 0xf } |
enum | LAPIC::APICSoftware { LAPIC::APIC_DISABLED = 0 , LAPIC::APIC_ENABLED = 1 } |
APIC Software Status for Spurious Interrupt Vector. More... | |
enum | LAPIC::FocusProcessorChecking { LAPIC::CHECKING_ENABLED = 0 , LAPIC::CHECKING_DISABLED = 1 } |
Focus Processor Checking for Spurious Interrupt Vector. More... | |
enum | LAPIC::SuppressEOIBroadcast { LAPIC::BROADCAST = 0 , LAPIC::SUPPRESS_BROADCAST = 1 } |
Suppress End-Of-Interrupt-Broadcast for Spurious Interrupt Vector. More... | |
Functions | |
Register | LAPIC::read (Index idx) |
Get value from APIC register. | |
void | LAPIC::write (Index idx, Register value) |
Write value to APIC register. | |
uint8_t | LAPIC::getID () |
Get the ID of the current core's LAPIC. | |
uint8_t | LAPIC::getLogicalID () |
Get the Logical ID of the current core's LAPIC. | |
uint8_t | LAPIC::getVersion () |
Get version number of local APIC. | |
void | LAPIC::init (uint8_t logical_id) |
Initialized the local APIC of the calling CPU core and sets the logical LAPIC ID in the LDR register. | |
void | LAPIC::endOfInterrupt () |
Signalize EOI (End of interrupt) | |
Constants | |
volatile uintptr_t | LAPIC::base_address = 0xfee00000 |
Base Address used with offset to access memory mapped registers. | |
struct LAPIC::SpuriousInterruptVectorRegister.__unnamed50__ |
Class Members | ||
---|---|---|
uint32_t | spurious_vector: 8 | Spurious Vector. |
APICSoftware | apic_software: 1 | APIC Software Enable/Disable. |
FocusProcessorChecking | focus_processor_checking: 1 | Focus Processor Checking. |
uint32_t | reserved_1: 2 | |
SuppressEOIBroadcast | eoi_broadcast_suppression: 1 | |
uint32_t | reserved:19 |