StuBS
apic.h File Reference

Gather system information from the ACPI about the Advanced Programmable Interrupt Controller (APIC). More...

#include "types.h"
Include dependency graph for apic.h:

Namespaces

namespace  APIC
 Information about the (extended) Advanced Programmable Interrupt Controller.
 

Enumerations

enum  APIC::Device {
  APIC::TIMER = 0 , APIC::KEYBOARD = 1 , APIC::COM1 = 4 , APIC::COM2 = 3 ,
  APIC::COM3 = 4 , APIC::COM4 = 3 , APIC::FLOPPY = 6 , APIC::LPT1 = 7 ,
  APIC::REALTIMECLOCK = 8 , APIC::PS2MOUSE = 12 , APIC::IDE1 = 14 , APIC::IDE2 = 15
}
 Historic order of interrupt lines (PIC) More...
 

Functions

bool APIC::init ()
 Executes system detection.
 
uintptr_t APIC::getIOAPICAddress ()
 Queries the I/O-APIC address determined during system boot.
 
uint8_t APIC::getIOAPICID ()
 Queries of ID of the I/O-APIC determined during system boot.
 
uint8_t APIC::getIOAPICSlot (APIC::Device device)
 Returns the pin number the device is connected to.
 
uint8_t APIC::getLogicalAPICID (uint8_t core)
 Returns the logical ID of the Local APIC passed for core.
 
uint8_t APIC::getLAPICID (uint8_t core)
 Get the Local APIC ID of a CPU.
 

Variables

const uint8_t APIC::INVALID_ID = 0xff
 Invalid APIC ID.
 

Detailed Description

Gather system information from the ACPI about the Advanced Programmable Interrupt Controller (APIC).