![]() |
Max OS 0.3
|
Handles a certain interrupt number. More...
#include <interrupts.h>
Public Member Functions | |
| virtual void | handle_interrupt () |
| Handles an interrupt. | |
| virtual system::cpu_status_t * | handle_interrupt (system::cpu_status_t *status) |
| Handles an interrupt and returns the status. | |
Protected Member Functions | |
| InterruptHandler (uint8_t interrupt_number, int64_t redirect=-1, uint64_t redirect_index=0) | |
| Creates a new interrupt handler and registers it with the interrupt manager. | |
| ~InterruptHandler () | |
| Destroys the interrupt handler and unregisters it from the interrupt manager. | |
Protected Attributes | |
| uint8_t | m_interrupt_number |
| The interrupt number this handler handles. | |
Handles a certain interrupt number.
Definition at line 30 of file interrupts.h.
|
explicitprotected |
Creates a new interrupt handler and registers it with the interrupt manager.
| interrupt_number | The interrupt number to handle |
| redirect | What legacy interrupt to redirect from (-1 for no redirection) |
| redirect_index | Which index of the legacy interrupt to redirect from |
Definition at line 24 of file interrupts.cpp.
References ASSERT, m_interrupt_number, MaxOS::hardwarecommunication::InterruptManager::s_active_interrupt_manager, and MaxOS::hardwarecommunication::IOAPIC::set_redirect().
|
protected |
Destroys the interrupt handler and unregisters it from the interrupt manager.
Definition at line 55 of file interrupts.cpp.
References m_interrupt_number, and MaxOS::hardwarecommunication::InterruptManager::s_active_interrupt_manager.
|
virtual |
Handles an interrupt.
Reimplemented in MaxOS::drivers::ethernet::AMD_AM79C973, MaxOS::drivers::ethernet::IntelI217, and MaxOS::drivers::peripherals::KeyboardDriver.
Definition at line 68 of file interrupts.cpp.
Referenced by handle_interrupt(), and MaxOS::hardwarecommunication::InterruptManager::handle_interrupt_request().
|
virtual |
Handles an interrupt and returns the status.
| status | The status of the CPU |
Reimplemented in MaxOS::system::SyscallManager, and MaxOS::processes::GlobalScheduler.
Definition at line 78 of file interrupts.cpp.
References handle_interrupt().
|
protected |
The interrupt number this handler handles.
Definition at line 32 of file interrupts.h.
Referenced by InterruptHandler(), and ~InterruptHandler().