StuBS
|
The interrupt subsystem. More...
Namespaces | |
namespace | Guard |
Synchronizes the kernel with interrupts using the Prologue/Epilogue Model. | |
namespace | Plugbox |
Object-oriented abstraction of an device interrupt table. | |
namespace | IOAPIC |
Abstraction of the I/O APIC that is used for management of external interrupts. | |
namespace | LAPIC |
Abstracts the local APIC (which is integrated into every CPU core) | |
namespace | LAPIC::IPI |
Inter-Processor Interrupts. | |
namespace | LAPIC::Timer |
Local Timer (for each LAPIC / CPU) | |
Classes | |
class | Gate |
Class of objects that are capable of handling interrupts. More... | |
class | Guarded |
A handy interface to protect critical sections. More... | |
Functions | |
void | interrupt_handler (Core::Interrupt::Vector vector, InterruptContext *context) |
High-Level Interrupt Handling. | |
The interrupt subsystem.
The interrupt subsystem of StubBS contains all functionality to accept interrupts from the hardware and process them. In later exercises the interrupts will enable applications to execute core functionality (system calls). The entry point for the interrupt subsystem is the function 'interrupt_entry_VECTOR' (in interrupt/handler.asm
).
void interrupt_handler | ( | Core::Interrupt::Vector | vector, |
InterruptContext * | context | ||
) |
High-Level Interrupt Handling.
Main interrupt handling routine of the system. This function is called by the corresponding interrupt_entry_VECTOR
function (located in interrupt/handler.asm
) with disabled interrupts.
vector | number of the interrupt |
context | Pointer to interrupt context (on stack). |