BIOS KompendiumBIOS Kompendium ©
.: Award BIOS :.  
Info: Hier werden Ihnen ausführlich die einzelnen Schritte erläutert, wie sie beim Power On Self Test (POST) des Award BIOS abgearbeitet werden. Geringfügige Abweichungen in der Testreihenfolge sind möglich.
.: POST Ablauf Vers. 6.0 :.
CFh Test der CMOS Read/Write-Funktionalität
C0h
Chipsatz-Initialisierung:
1. Shadow RAM ausschalten
2. L2 Cache (Sockel 7 oder älter) ausschalten
3. Chipsatz-Register initialisieren
C1h
Speichererkennung:
Auto-Erkennung von DRAM Größe, Typ und Fehlerkorrektur (ECC oder keine)
Auto-Erkennung der L2-Cachegröße (Sockel 7 oder älter)
C3h Entpacken des komprimierten BIOS-Programmcodes in den Arbeitsspeicher.
C5h Kopieren des BIOS-Programmcodes ins Shadow-RAM (Segmente E000 & F000) via Zeiger-Aufruf (chipset hook).
01h Der Xgroup-Programmcode wird ab Adresse 1000:0 in den Arbeitsspeicher geschrieben
02h Reserviert
03h Initialisiere Variable/Routine "Superio_Early_Init".
04h Reserviert
05h
1. Bildschirm löschen
2. CMOS error flag löschen
06h Reserviert
07h
1. Löschen der 8042 (Tastaturkontroller) Interface-Register
2. Initialisierung und Selbsttest des 8042 (Tastaturkontroller)
08h
1. Test spezieller Tastaturkontroller (Winbond 977 Super I/O Chip-Serie)
2. Aktivierung der  Tastatur-Interfaceregister
09h Reserviert
0Ah
1. Ausschalten der PS/2 Maus Schnittstelle (wahlweise)
2. Auto-Erkennung der Anschlüsse für Tastatur und Maus, optional: Tausch der PS/2-Ports & -Schnittstellen
0Bh Reserviert
0Ch Reserviert
0Dh Reserviert
0Eh Test des F000h-Speichersegments (Read/Write-Fähigkeit). Bei Fehler: Signaltonausgabe über den Lautsprecher.
0Fh Reserviert
10h Auto-Erkennung des Flash-Rom-Typ und Laden des passenden Schreib-/Lese-Programms in das Run Time-Speichersegment F000 ( wird für ESCD-Daten & den DMI-Pool-Support benötigt).
11h Reserviert
12h Interface-Test der CMOS RAM-Logik ("walking 1's"-Algorithmus). Setzen des Power Status der Echtzeituhr (RTC), danach Test auf Registerüberlauf.
13h Reserviert
14h Initialisierung des Chipsatzes mit den Default-Werten. Diese können von OEM-Kunden per Software (MODBIN) verändert werden.
15h Reserviert
16h Initialisiere Variable/Routine "Early_Init_Onboard_Generator".
17h Reserviert
18h CPU-Autoerkennung (Hersteller, SMI Typ (Cyrix oder Intel), CPU-Klasse (586 oder 686)).
19h Reserviert
1Ah Reserviert
1Bh Initialisierung der Interrupt-Zeigertabelle. Wenn nicht anders vorgegeben, zeigen die Hardware-Interrupts auf SPURIOUS_INT_HDLR und die Software-Interrupts auf SPURIOUS_soft_HDLR.
1Ch Reserviert
1Dh Initialisiere Variable/Routine EARLY_PM_INIT.
1Eh Reserviert
1Fh Tastatur-Tabelle laden (Notebooks)
20h Reserviert
21h Initialisierung des Hardware Power Managements (HPM) (Notebooks)
22h Reserviert
23h
1. Gültigkeit der RTC-Werte testen. (Beispiel: "5Ah" ist ein ungültiger Wert für eine RTC-Minute).
2. Lade die CMOS-Werte in den BIOS Stackbereich. Bei CMOS-Checksummenfehler werden die Default-Werte geladen.
3. Vorbereiten der BIOS 'resource map' für die PCI & Plug and Play-Konfiguration. If ESCD is valid, take into consideration of the ESCD’s legacy information. 
4. Initialisiere den Onboard-Taktgenerator. Taktabschaltung bei nicht genutzten PCI- und DIMM-Slots.
5. Erste Initialisierung der PCI-Devices: -PCI Bus-Nummern vergeben -Memory & I/O Ressourcen zuweisen - Nach funktionsfähigem VGA-Kontroller und VGA-BIOS suchen, letzteres in Speichersegment C000:0 kopieren (Video ROM Shadow).
24h Reserviert
25h Reserviert
26h Reserviert
27h Initialisiere Pufferspeicher für INT 09
28h Reserviert
29h
1. Programmiere CPU (interne MTRR bei P6 und PII) für den ersten Memory-Adressbereich (0-640K).
2. Initialisierung des APIC bei CPUs der Pentium-Klasse.
3. Programmiere den Chipsatz gemäß den Einstellungen des CMOS-Setup (Beispiel: Onboard IDE-Kontroller).
4. Messen der CPU-Taktrate.
5. Initialisiere das Video BIOS.
2Ah Reserviert
2Bh Reserviert
2Ch Reserviert
2Dh
1. Initialisiere die "Multi-Language"-Funktion des BIOS
2. Bildschirm-Ausgabe, z. B. Award-Logo, CPU-Typ und -Taktrate….
2Eh Reserviert
2Fh Reserviert
30h Reserviert
31h Reserviert
32h Reserviert
33h Tastatur-Reset (außer Super I/O Chips der  Winbond 977 Serie).
34h Reserviert
35h Reserviert
36h Reserviert
37h Reserviert
38h Reserviert
39h Reserviert
3Ah Reserviert
3Bh Reserviert
3Ch Teste den 8254 (Timer-Baustein)
3Dh Reserviert
3Eh Teste die Interrupt-Maskenbits von IRQ-Kanal 1 des 8259 Interrupt-Kontrollers.
3Fh Reserviert
40h Teste die Interrupt-Maskenbits von IRQ-Kanal 2 des 8259 Interrupt-Kontrollers.
41h Reserviert
42h Reserviert
43h Testen der Funktionen des Interrupt-Kontrollers (8259).
44h Reserviert
45h Reserviert
46h Reserviert
47h Initialisiere EISA slot (wenn vorhanden).
48h Reserviert
49h
1. Bestimmung der gesamten Speichergröße durch Überprüfung des letzten 32-Bit double word jedes 64k-Speichersegments.
2. Programmiere "write allocation" bei AMD K5-CPUs.
4Ah Reserviert
4Bh Reserviert
4Ch Reserviert
4Dh Reserviert
4Eh
1. Programmiere MTRR bei M1 CPUs
2. Initialisiere Level 2-Cache bei CPUs der P6-Klasse, einschließlich Setzen der "cacheable range" des Arbeitsspeichers.
3. Initialisiere APIC bei CPUs der P6-Klasse.
4. Nur Multiprozessor-Systeme (MP platform): Einstellen der "cacheable range" auf den jeweils kleinsten Wert (für den Fall nicht-identischer Werte).
4Fh Reserviert
50h Initialisiere USB-Schnittstelle
51h Reserviert
52h Testen des gesamten Arbeitsspeichers und Löschen des Extended Memory  (auf "0" setzen)
53h Reserviert
54h Reserviert
55h Nur Multiprozessor-Systeme (MP platform): Anzahl der CPUs anzeigen.
56h Reserviert
57h
1. Plug and Play Logo anzeigen
2. Erste ISA Plug and Play-Initialisierung - CSN-Zuweisung für jedes erkannte ISA Plug and Play-Device.
58h Reserviert
59h Initialisiere TrendMicro Anti-Virus Programmcode.
5Ah Reserviert
5Bh (Optional:) Anzeigen der Möglichkeit zum Starten von AWDFLASH.EXE (Flash ROM-Programmierung) von der Festplatte.
5Ch Reserviert
5Dh
1. Initialisiere Variable/Routine Init_Onboard_Super_IO.
2. Initialisiere Variable/Routine Init_Onbaord_AUDIO.
5Eh Reserviert
5Fh Reserviert
60h Freigabe zum Starten des CMOS-Setup (d.h. vor dieser Stufe des POST können User nicht in das BIOS-Setup gelangen).
61h Reserviert
62h Reserviert
63h Reserviert
64h Reserviert
65h Initialisierung der PS/2 Maus.
66h Reserviert
67h Informationen über die Größe des Arbeitsspeichers für Funktionsaufruf (INT 15h mit AX-Reg. = E820h).
68h Reserviert
69h Level 2 Cache einschalten
6Ah Reserviert
6Bh Programmieren der Chipsatz-Register gemäß BIOS-Setup und Auto-Erkennungstabelle.
6Ch Reserviert
6Dh
1. Zuweisung der Ressourcen für alle ISA Plug and Play Devices.
2. Zuweisung der Portadresse für Onboard COM-Ports (nur bei im Setup eingestellter automatischer Zweigung).
6Eh Reserviert
6Fh
1. Initialisierung des Floppy-Controllers.
2. Programmierung aller relevanten Register und Variablen (Floppy und Floppy-Kontroller).
70h Reserviert
71h Reserviert
72h Reserviert
73h
Optionales Feature:
Aufruf von AWDFLASH.EXE wenn:
- das Programm AWDFLASH wurde auf einer Diskette im Floppy-Laufwerk gefunden.
- die Tastenkombination ALT+F2 wurde gedrückt.
74h Reserviert
75h Erkennung und Installation der IDE-Laufwerke: HDD, LS120, ZIP, CDROM…..
76h Reserviert
77h Erkennung der seriellen und parallelen Ports.
78h Reserviert
79h Reserviert
7Ah Co-Prozessor wird erkannt und aktiviert.
7Bh Reserviert
7Ch Reserviert
7Dh Reserviert
7Eh Reserviert
7Fh
Umschalten in den Textmodus, Logo-Ausgabe wird unterstützt.
- Anzeige eventuell aufgetretener Fehler. Warten auf Tastatureingabe.
- Keine Fehler aufgetreten bzw. Taste F1 wurde gedrückt (weiter):
- Löschen des EPA-Logos oder des eigenen Logos.
80h Reserviert
81h Reserviert
Start der BIOS-Routine "E8POST.ASM"
82h
1. Zeiger zum "Chipsatz Power Management" aufrufen.
2. Text-Font des EPA-Logos laden (nicht bei Vollbildausgabe des Logos)
3. Falls ein Passwort gesetzt ist, wird es hier abgefragt.
83h Speicherung der Daten im Stack, zurück zum CMOS.
84h Initialisierung von ISA Plug and Play Bootlaufwerken (auch Boot-ROMs)
85h
1. Endgültige Initialisierung des USB-Hosts.
2. Bei Netzwerk-PCs (Boot-ROM): Aufbau der SYSID-Strukturtabelle
3. Bildschirmdarstellung in Textmode zurückschalten
4. ACPI-Tabelle initialisieren (top of memory).
5. ROMs auf ISA-Karten initialisieren und einbinden
6. Zuweisung der PCI-IRQs
7. Initialisierung des Advanced Power Managements (APM)
8. IRQ-Register zurücksetzen.
86h Reserviert
87h Reserviert
88h Reserviert
89h Reserviert
90h Reserviert
91h Reserviert
92h Reserviert
93h Einlesen des Festplatten-Bootsektors zur Überprüfung durch das interne Antivirenprogramm (Trend Anti-Virus Code)
94h
1. Aktivieren des Level 2 Cache
2. Einstellen der Taktrate während des Bootvorgangs
3. Endgültige Chipsatz-Initialisierung.
4. Endgültige Power Management-Initialisierung .
5. Bildschirm löschen und Übersichtstabelle ("rechteckiger Kasten") anzeigen.
6. Programmiere "write allocation" bei K6-CPUs (AMD)
7. Programmiere "write combining" bei P6-CPUs (INTEL)
Stand: 27.07.2007
.: © hans-peter schulz :.