OOStuBS/MPStuBS
Unterbrechungsbehandlung

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 ...
 

Ausführliche Beschreibung

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.

Dokumentation der Funktionen

◆ 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.

Parameter
vectorgibt die Nummer des aufgetretenen Interrupts an.
contextbeinhaltet einen Pointer auf den eigenen Stack, über den auf den Unterbrechungskontext zugegriffen werden kann.