The Pedigree Project
0.1
|
Handles interrupts and interrupt registrations from kernel components. More...
#include <InterruptManager.h>
Public Member Functions | |
virtual bool | registerInterruptHandler (size_t nInterruptNumber, InterruptHandler *pHandler)=0 |
virtual bool | registerInterruptHandlerDebugger (size_t nInterruptNumber, InterruptHandler *pHandler)=0 |
virtual size_t | getBreakpointInterruptNumber () PURE=0 |
virtual size_t | getDebugInterruptNumber () PURE=0 |
Static Public Member Functions | |
static InterruptManager & | instance () |
Protected Member Functions | |
InterruptManager () | |
virtual | ~InterruptManager () |
Private Member Functions | |
InterruptManager (const InterruptManager &) | |
InterruptManager & | operator= (const InterruptManager &) |
Handles interrupts and interrupt registrations from kernel components.
The interrupt manager allows interrupt handler registrations and handles interrupts.
Definition at line 34 of file include/pedigree/kernel/processor/InterruptManager.h.
|
protecteddefault |
The constructor
|
protectedvirtualdefault |
The destructor
|
private |
The copy-constructor
|
pure virtual |
Get the interrupt number of the breakpoint exception
Implemented in MIPS32InterruptManager, X64InterruptManager, X86InterruptManager, PPC32InterruptManager, ARM926EInterruptManager, ARMV7InterruptManager, and HostedInterruptManager.
Referenced by Debugger::initialise().
|
pure virtual |
Get the interrupt number of the debug exception
Implemented in MIPS32InterruptManager, X64InterruptManager, X86InterruptManager, PPC32InterruptManager, ARM926EInterruptManager, ARMV7InterruptManager, and HostedInterruptManager.
|
static |
Get the interrupt manager instance
Definition at line 74 of file arm_926e/InterruptManager.cc.
References ARM926EInterruptManager::instance().
Referenced by MIPS32TlbManager::initialise(), Decrementer::initialise(), NMFaultHandler::initialise(), CountCompareTimer::initialise(), Heathrow::initialise(), HostedIrqManager::initialise(), Debugger::initialise(), Pic::initialise(), GPTimer::initialise(), OpenPic::initialise(), Ehci::initialiseController(), Debugger::interrupt(), and ArmBeagleSerial::setBase().
|
private |
The copy-constructor
|
pure virtual |
Register an interrupt handler
[in] | nInterruptNumber | the interrupt's number |
[in] | pHandler | the interrupt handler |
Implemented in X64InterruptManager, PPC32InterruptManager, X86InterruptManager, ARM926EInterruptManager, ARMV7InterruptManager, MIPS32InterruptManager, and HostedInterruptManager.
Referenced by MIPS32TlbManager::initialise(), NMFaultHandler::initialise(), Heathrow::initialise(), HostedIrqManager::initialise(), Pic::initialise(), GPTimer::initialise(), OpenPic::initialise(), Ehci::initialiseController(), and ArmBeagleSerial::setBase().
|
pure virtual |
Register an interrupt handler (for the kernel debugger)
[in] | nInterruptNumber | the interrupt's number |
[in] | pHandler | the interrupt handler |
Implemented in MIPS32InterruptManager, X64InterruptManager, X86InterruptManager, PPC32InterruptManager, ARM926EInterruptManager, ARMV7InterruptManager, and HostedInterruptManager.