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. More...
 
uintptr_t APIC::getIOAPICAddress ()
 Queries the physical I/O-APIC address determined during system boot. More...
 
uint8_t APIC::getIOAPICID ()
 Queries of ID of the I/O-APIC determined during system boot. More...
 
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. More...
 
uint8_t APIC::getLAPICID (uint8_t core)
 Get the Local APIC ID of a CPU. More...
 

Constants

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

Detailed Description

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