Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik
apicsystem.h-Dateireferenz

Enthält die Klasse APICSystem, die zum Hochfahren des Systems benötigt wird. Mehr ...

#include <types.h>
Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

Aufzählungen

enum  Device {
  timer = 0, keyboard = 1, com1 = 4, com2 = 3,
  com3 = 4, com4 = 3, floppy = 6, lpt1 = 7,
  rtc = 8, ps2mouse = 12, ide1 = 14, ide2 = 15
}
 

Funktionen

bool System::init ()
 Führt Systemerkennung aus. Mehr ...
 
void System::bootAPs ()
 Startet alle Applikationsprozessoren.
 
int System::getCPUID ()
 Liefert die CPUID der aktuellen CPU. Mehr ...
 
void * System::getIOAPICAddress ()
 Liefert die während des Bootvorgangs ausgelesene Addresse des IOAPICs. Mehr ...
 
uint8_t System::getIOAPICID ()
 Liefert die während des Bootvorgangs ausgelesene ID des IOAPICs. Mehr ...
 
uint8_t System::getIOAPICSlot (System::Device device)
 Liefert die Nummer des Pins, an dem das Gerät device hängt. Mehr ...
 
unsigned System::getNumberOfCPUs ()
 Gibt die Anzahl der CPUs zurück. Mehr ...
 
unsigned System::getNumberOfOnlineCPUs ()
 Gibt die Anzahl der erfolgreich gebooteten CPUs zurück. Mehr ...
 
bool System::isOnlineCPU (uint8_t cpu)
 Gibt an ob die gegegebene CPU erfolgreich gebootetet ist. Mehr ...
 
void System::setupThisProcessor ()
 
uint8_t System::getLogicalLAPICID (uint8_t cpu)
 Liefert die logische ID des LAPICs der übergebenen cpu. Mehr ...
 

Variablen

const unsigned CPU_MAX = 8
 maximum number of CPUs
 

Ausführliche Beschreibung

Enthält die Klasse APICSystem, die zum Hochfahren des Systems benötigt wird.

Dokumentation der Funktionen

◆ getCPUID()

int System::getCPUID ( )

Liefert die CPUID der aktuellen CPU.

Rückgabe
CPUID der aktuellen CPU.

◆ getIOAPICAddress()

void * System::getIOAPICAddress ( )

Liefert die während des Bootvorgangs ausgelesene Addresse des IOAPICs.

◆ getIOAPICID()

uint8_t System::getIOAPICID ( )

Liefert die während des Bootvorgangs ausgelesene ID des IOAPICs.

◆ getIOAPICSlot()

uint8_t System::getIOAPICSlot ( System::Device  device)

Liefert die Nummer des Pins, an dem das Gerät device hängt.

◆ getLogicalLAPICID()

uint8_t System::getLogicalLAPICID ( uint8_t  cpu)

Liefert die logische ID des LAPICs der übergebenen cpu.

Die logische ID der LAPICs wird von uns beim Boot-Vorgang so initialisiert, dass genau ein Bit pro CPU gesetzt ist. Dabei ist in der logischen ID des LAPICs von CPU 0 Bit 0 gesetzt, in der ID des LAPICs von CPU 1 Bit 1, usw.

Parameter
cpuDie abzufragende CPU

◆ getNumberOfCPUs()

unsigned System::getNumberOfCPUs ( )

Gibt die Anzahl der CPUs zurück.

◆ getNumberOfOnlineCPUs()

unsigned System::getNumberOfOnlineCPUs ( )

Gibt die Anzahl der erfolgreich gebooteten CPUs zurück.

◆ init()

bool System::init ( )

Führt Systemerkennung aus.

Diese Funktion erkennt ein eventuell vorhandenes Mehrprozessorsystem. Nach erfolgter Erkennung kann der Systemtyp mit Hilfe der Methode getSystemType() abgefragt werden.

◆ isOnlineCPU()

bool System::isOnlineCPU ( uint8_t  cpu)

Gibt an ob die gegegebene CPU erfolgreich gebootetet ist.

Parameter
cpuID der abzufragenden CPU
Rückgabe
true falls erfolgreich gebootet