OOStuBS/MPStuBS
|
Das Interrupt Subsystem. Mehr ...
Klassen | |
class | Gate |
Klasse von Objekten, die in der Lage sind, Unterbrechungen zu behandeln. Mehr ... | |
class | Guard |
Synchronisation des BS-Kerns mit Unterbrechungen. Mehr ... | |
class | Secure |
Die Klasse Secure dient dem bequemen Schutz kritischer Abschnitte. Mehr ... | |
class | IOAPIC |
Abstraktion des IO-APICs, der zur Verwaltung der externen Interrupts dient. Mehr ... | |
class | LAPIC |
Abstraktion des in der CPU integrierten local APICs. Mehr ... | |
class | Plugbox |
Abstraktion einer Interruptvektortabelle. Mehr ... | |
Funktionen | |
void | guardian (uint32_t vector, irq_context *context) |
Low-Level Interrupt-Behandlung. Mehr ... | |
Das Interrupt Subsystem.
Das Interrupt Subsystem von OO/MPStubBS beinhaltet alle Funktionalität um Unterbrechungen von der Hardware anzunehmen und diese abzuarbeiten. In späteren Übungen werden dann die Interrupts mit der Anwendungs-aktivierten Kernausführung (Systemaufrufe) synchronisiert. Der Eintrittspunkt für das Interrupt Subsystem ist die Funktion guardian.
void guardian | ( | uint32_t | vector, |
irq_context * | context | ||
) |
Low-Level Interrupt-Behandlung.
Zentrale Unterbrechungsbehandlungsroutine des Systems. Diese Funktion wird von dem Assembler Teil der Unterbrechungsbehandlung aufgerufen. Beim Betreten der Funktion sind die Unterbrechungen auf dieser CPU gesperrt.
vector | gibt die Nummer des aufgetretenen Interrupts an. |
context | beinhaltet einen Pointer auf den eigenen Stack, über den auf den Unterbrechungskontext zugegriffen werden kann. |