
Enthält die Klasse LAPIC zum Zugriff auf den Local APIC. Mehr ...
#include "types.h"
Namensbereiche | |
LAPIC | |
Abstraktion des in der CPU integrierten local APICs. | |
Funktionen | |
void | LAPIC::init (uint8_t logicalID) |
Initialisiert den local APIC der jeweiligen CPU und setzt die lokale APIC ID im LDR Register. Mehr ... | |
void | LAPIC::endOfInterrupt () |
Signalisiert EOI (End of interrupt) Mehr ... | |
uint8_t | LAPIC::getID () |
Liefert die ID des in der aktuellen CPU integrieren APICs. Mehr ... | |
uint8_t | LAPIC::getLogicalID () |
void | LAPIC::setLogicalID (uint8_t id) |
uint8_t | LAPIC::getVersion () |
Liefert Versionsnummer des local APICs. Mehr ... | |
bool | LAPIC::IPI::isDelivered () |
Kehrt mit true zurück, falls zum Zeitpunkt des Aufrufs kein IPI aktiv ist. Mehr ... | |
void | LAPIC::IPI::send (uint8_t destination, uint8_t vector) |
void | LAPIC::IPI::sendGroup (uint8_t logical_destination, uint8_t vector) |
void | LAPIC::IPI::sendAll (uint8_t vector) |
void | LAPIC::IPI::sendOthers (uint8_t vector) |
void | LAPIC::IPI::sendInit (bool assert=true) |
void | LAPIC::IPI::sendStartup (uint8_t vector) |
uint32_t | LAPIC::Timer::ticks () |
Ermittelt die Frequenz des LAPIC-Timers. Mehr ... | |
void | LAPIC::Timer::set (uint32_t counter, uint8_t divide, uint8_t vector, bool periodic, bool masked=false) |
Stellt den LAPIC-Timer ein. Mehr ... | |
void | LAPIC::Timer::setMasked (bool masked) |
Setzt die LAPIC-Timer Interrupt Make. Mehr ... | |
Enthält die Klasse LAPIC zum Zugriff auf den Local APIC.
Local APIC referenziert in Intel System Programming Guide 3A
bool LAPIC::IPI::isDelivered | ( | ) |
Kehrt mit true zurück, falls zum Zeitpunkt des Aufrufs kein IPI aktiv ist.
void LAPIC::Timer::set | ( | uint32_t | counter, |
uint8_t | divide, | ||
uint8_t | vector, | ||
bool | periodic, | ||
bool | masked = false |
||
) |
Stellt den LAPIC-Timer ein.
counter | Startwert des Zählers, der bei jedem Bus-Takt dekrementiert wird. |
divide | Zweierpotenz, durch die der Bustakt geteilt werden soll (wird als numerischer Wert (1, 2, 4, 8, ...) übergeben, zur Umrechnung in die passende Bitmaske siehe LAPIC::timer_div) |
vector | Nummer des auszulösenden Interrupts. |
periodic | Gibt an, ob die Unterbrechung periodisch kommen soll |
masked | Unterdrückt Unterbrechungen bei Zählerablauf |
void LAPIC::Timer::setMasked | ( | bool | masked | ) |
Setzt die LAPIC-Timer Interrupt Make.
masked | Unterdrückt Unterbrechungen bei Zählerablauf |
uint32_t LAPIC::Timer::ticks | ( | ) |
Ermittelt die Frequenz des LAPIC-Timers.