![]() |
Max OS 0.3
|
Handles both the Local APIC (boot core) and IO APIC. More...
#include <apic.h>
Public Member Functions | |
| AdvancedProgrammableInterruptController (AdvancedConfigurationAndPowerInterface *acpi) | |
| Construct a new Advanced Programmable Interrupt Controller object and initialises the Local APIC and IO APIC, disabling the legacy PIC. | |
| ~AdvancedProgrammableInterruptController () | |
| Destroy the Advanced Programmable Interrupt Controller object and frees the Local APIC and IO APIC. | |
| LocalAPIC * | local_apic () const |
| Get the local apic. | |
| IOAPIC * | io_apic () const |
| Get the io apic. | |
Handles both the Local APIC (boot core) and IO APIC.
|
explicit |
Construct a new Advanced Programmable Interrupt Controller object and initialises the Local APIC and IO APIC, disabling the legacy PIC.
| acpi | The ACPI interface to get the MADT from |
Definition at line 415 of file apic.cpp.
References MaxOS::hardwarecommunication::InterruptManager::active_interrupt_manager(), MaxOS::Logger::DEBUG(), MaxOS::Logger::INFO(), and MaxOS::hardwarecommunication::InterruptManager::set_apic().
| AdvancedProgrammableInterruptController::~AdvancedProgrammableInterruptController | ( | ) |
| IOAPIC * AdvancedProgrammableInterruptController::io_apic | ( | ) | const |
Get the io apic.
Definition at line 490 of file apic.cpp.
Referenced by MaxOS::system::CPU::find_cores().
| LocalAPIC * AdvancedProgrammableInterruptController::local_apic | ( | ) | const |
Get the local apic.
Definition at line 480 of file apic.cpp.
Referenced by MaxOS::drivers::clock::Clock::calibrate(), and MaxOS::system::CPU::CPU().