StuBS
Interrupt Handling

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

Detailed Description

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

Function Documentation

◆ interrupt_handler()

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.

Parameters
vectornumber of the interrupt
contextPointer to interrupt context (on stack).