
LAPIC abstracts access to the Local APIC More...
#include "types.h"
Namespaces | |
LAPIC | |
Abstracts the local APIC (which is integrated into every CPU core)In modern (x86) PCs, every CPU core has its own Local APIC (LAPIC). The LAPIC is the link between the local CPU core and the I/O APIC (that takes care about external interrupt sources. Interrupt messages received by the LAPIC will be passed to the corresponding CPU core and trigger the interrupt handler on this core. | |
LAPIC::IPI | |
Inter-Processor Interrupts. | |
LAPIC::Timer | |
Local Timer (for each LAPIC / CPU) | |
Functions | |
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. More... | |
void | LAPIC::endOfInterrupt () |
Signalize EOI (End of interrupt) More... | |
uint8_t | LAPIC::getID () |
Get the ID of the current core's LAPIC. More... | |
uint8_t | LAPIC::getLogicalID () |
void | LAPIC::setLogicalID (uint8_t id) |
uint8_t | LAPIC::getVersion () |
Get version number of local APIC. More... | |
bool | LAPIC::IPI::isDelivered () |
Check if the previously sent IPI has reached its destination. More... | |
void | LAPIC::IPI::send (uint8_t destination, uint8_t vector) |
Send an Inter-Processor Interrupt (IPI) More... | |
void | LAPIC::IPI::sendGroup (uint8_t logical_destination, uint8_t vector) |
Send an Inter-Processor Interrupt (IPI) to a group of processors. More... | |
void | LAPIC::IPI::sendAll (uint8_t vector) |
Send an Inter-Processor Interrupt (IPI) to all processors (including self) More... | |
void | LAPIC::IPI::sendOthers (uint8_t vector) |
Send an Inter-Processor Interrupt (IPI) to all other processors (all but self) More... | |
void | LAPIC::IPI::sendInit (bool assert=true) |
void | LAPIC::IPI::sendStartup (uint8_t vector) |
uint32_t | LAPIC::Timer::ticks (void) |
Determines the LAPIC timer frequency. More... | |
void | LAPIC::Timer::set (uint32_t counter, uint8_t divide, uint8_t vector, bool periodic, bool masked=false) |
Set the LAPIC timer. More... | |
void | LAPIC::Timer::setMasked (bool masked) |
Set the LAPIC-timer interrupt mask. More... | |