StuBS
lapic.cc File Reference
Include dependency graph for lapic.cc:

Classes

union  LAPIC::IdentificationRegister
 Local APIC ID (for Pentium 4 and newer). More...
union  LAPIC::VersionRegister
 Local APIC Version. More...
union  LAPIC::LogicalDestinationRegister
 Logical Destination Register. More...
union  LAPIC::DestinationFormatRegister
 Destination Format Register. More...
union  LAPIC::TaskPriorityRegister
 Task Priority Register. More...
union  LAPIC::SpuriousInterruptVectorRegister
 Spurious Interrupt Vector Register. More...

Namespaces

namespace  LAPIC
 Abstracts the local APIC (which is integrated into every CPU core).

Enumerations

enum  LAPIC::Model {
  LAPIC::CLUSTER = 0x0 ,
  LAPIC::FLAT = 0xf
}
enum  LAPIC::APICSoftware {
  LAPIC::APIC_DISABLED = 0 ,
  LAPIC::APIC_ENABLED = 1
}
 APIC Software Status for Spurious Interrupt Vector. More...
enum  LAPIC::FocusProcessorChecking {
  LAPIC::CHECKING_ENABLED = 0 ,
  LAPIC::CHECKING_DISABLED = 1
}
 Focus Processor Checking for Spurious Interrupt Vector. More...
enum  LAPIC::SuppressEOIBroadcast {
  LAPIC::BROADCAST = 0 ,
  LAPIC::SUPPRESS_BROADCAST = 1
}
 Suppress End-Of-Interrupt-Broadcast for Spurious Interrupt Vector. More...

Functions

Register LAPIC::read (Index idx)
 Get value from APIC register.
void LAPIC::write (Index idx, Register value)
 Write value to APIC register.
uint8_t LAPIC::getID ()
 Get the ID of the current core's LAPIC.
uint8_t LAPIC::getLogicalID ()
 Get the Logical ID of the current core's LAPIC.
uint8_t LAPIC::getVersion ()
 Get version number of local APIC.
void LAPIC::init (uint8_t logical_id)
 Initialized the local APIC of the calling CPU core and sets the logical LAPIC ID in the LDR register.
void LAPIC::endOfInterrupt ()
 Signalize EOI (End of interrupt).

Constants

volatile uintptr_t LAPIC::base_address = 0xfee00000
 Base Address used with offset to access memory mapped registers.