StuBS
apic.cc File Reference
#include "machine/apic.h"
#include "machine/acpi.h"
#include "machine/core.h"
#include "machine/cmos.h"
#include "machine/ioport.h"
#include "machine/lapic.h"
#include "machine/lapic_registers.h"
#include "utils/string.h"
#include "debug/assert.h"
#include "debug/output.h"
Include dependency graph for apic.cc:

Namespaces

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

Functions

bool APIC::init ()
 Executes system detection.
 
uint8_t APIC::getIOAPICSlot (APIC::Device device)
 Returns the pin number the device is connected to.
 
uintptr_t APIC::getIOAPICAddress ()
 Queries the physical 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::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.
 

Constants

struct { 
 
uint32_t id
 
uintptr_t address
 
uint32_t interrupt_base
 
APIC::ioapic 
 
static uint8_t APIC::slot_map [16]
 
static uint8_t APIC::lapic_id [Core::MAX]
 
static unsigned APIC::lapics = 0