BIOS-POST-Codes

Die folgende Tabelle enthält Beschreibungen der POST-Codes in der Reihenfolge, wie sie generiert werden. POST-Codes werden als vierstellige Nummern angezeigt: zwei Stellen kommen aus dem primären E/A-Port 80 und zwei aus dem sekundären E/A-Port 81. Bei den nachstehend aufgeführten POST-Codes stammen die ersten beiden Zahlen von Port 81, die zweiten von Port 80.

Post-Code

Beschreibung

D0

Frühe BSP-Initialisierung (Boot Strap Processor) wie Microcode-Update, Frequenz- und andere CPU-kritische Initialisierung. Frühe Chipsatz-Initialisierung ist abgeschlossen.

Vor D1

Frühe Chipsatz-Initialisierung ist abgeschlossen. Frühe Super-E/A-Initialisierung, einschließlich RTC und Tastatur-Controller, ist abgeschlossen. NMI ist deaktiviert.

D1

Frühe Super-E/A-Initialisierung, einschließlich RTC und Tastatur-Controller, ist abgeschlossen. Serieller Port ist zu diesem Zeitpunkt aktiviert, falls für Debugging erforderlich. NMI ist deaktiviert. Führt Tastatur-Controller-BAT-Test durch. Speichert Power-On-CPUID-Wert im temporären CMOS. Wechselt in Flat-Mode mit 4-GB-Grenzwert und GA20 aktiviert.

D2

Überprüft Boot-Block-Prüfsumme. System hängt, wenn Prüfsumme nicht stimmt.

Vor D3

Die HT-Sets verbinden Frequenzen und Breiten auf ihre endgültigen Werte. Es wird ein Warmstart durchgeführt, damit die endgültigen (optimalen) HT Verbindungsfrequenzen und -breiten übernommen werden.

D3

Deaktiviert Cache vor Speichererkennung. Führt vollständiges Speicherdimensionierungs-Modul aus. Wenn Speicherdimensionierungsmodul nicht ausgeführt wurde, wird Speicheraktualisierung gestartet und Speicherdimensionierung im Boot-Block-Code vorgenommen. Nimmt zusätzliche Chipsatz-Initialisierung vor. Aktiviert CACHE erneut. Stellt sicher, dass Flat-Modus aktiviert ist.

07

Speicher-DQS-Training und DRAM-ECC-Initialisierung. Erster Speicher-Scrub nach Aktivierung des ECC. Konfiguriert die endgültige ECC-Scrub-Rate basierend auf dem im BIOS-Setup-Menü ausgewählten Wert.

D4

Testet 512-KB-Basisspeicher. Passt Richtlinien an und speichert erste 8 MB im Cache. Legt Stapel fest.

D5

Boot-Block-Code wird vom ROM in unteren Systemspeicher kopiert und erhält Steuerung. BIOS wird jetzt außerhalb des RAM ausgeführt. Kopiert komprimierten Boot-Block-Code in rechten Segmenten in den Speicher. Kopiert BIOS für schnelleren Zugriff vom ROM ins RAM. Führt Haupt-BIOS-Prüfsummentest aus und aktualisiert Wiederherstellungsstatus entsprechend.

D6

Sowohl Schlüsselsequenz als auch OEM-spezifische Methode werden überprüft, um festzustellen, ob BIOS-Wiederherstellung erforderlich ist. Wenn BIOS-Wiederherstellung erforderlich ist, geht die Steuerung an Prüfpunkt E0.

D7

CPUID-Wert wird im Register wiederhergestellt. Boot-Block-Laufzeit-Schnittstellenmodul wird in den Systemspeicher verlagert und erhält Steuerung. Bestimmt, ob serielles Blinken auszuführen ist.

D8

Laufzeit-Speicher wird in den Speicher dekomprimiert. CPUID-Informationen werden im Speicher abgelegt.

D9

Unkomprimierter Zeiger wird für künftigen Einsatz in PMM gespeichert. Haupt-BIOS wird in den Speicher kopiert. Belässt alles RAM unterhalb 1 MB zum Lesen-Schreiben, einschließlich E000 und F000 Schattenbereiche, schließt jedoch das SMRAM.

DA

CPUID-Wert wird im Register wiederhergestellt. Steuerung wird an BIOS-POST übergeben.

03

Globale Initialisierung vor Ausführung des eigentlichen BIOS-POST. Initialisieren von BDA-Variablen (BIOS Data Area) auf ihre Standardwerte. Initialisieren der POST-Datenvariablen. NMI, Parität, Video für EGA- und DMA-Controller sind deaktiviert.

4203

Frühe South-Bridge-Initialisierung - Initialisieren der South-Bridge-E/A-Dekodierungs-Bereiche.

5003

OEM-Frühinitialisierungscode - Löschen der Supervisor-/Benutzerpasswörter, wenn Brücke gesteckt.

6003

Frühe HyperTransport-Initialisierung - HyperTransport FIFO-Zeiger-Optimierungsregister wird initialisiert. Prüft auf HyperTransport Sync Flood und meldet Fehler.

04

Prüft CMOS-Diagnose-Byte, um festzustellen, ob Batterieladung und CMOS-Prüfsumme OK sind. Prüft CMOS-Prüfsumme manuell (Lesen des Speicherbereichs). Wenn CMOS-Prüfsumme nicht stimmt, aktualisiert CMOS mit Power-On-Standardwerten und löscht Passwörter. Statusregister A wird initialisiert. Dadurch werden Datenvariablen initialisiert, die auf CMOS-Setup-Fragen basieren. Initialisiert beide 8259-kompatiblen PIC im System.

05

Initialisiert die Interrupt-steuernde Hardware (i. A. PIC) und die Interrupt-Vektor-Tabelle.

06

Initialisiert 8254-Zeitgeber - Lese-/Schreibtest auf CH-2 Zählreg. durchführen Initialisiert CH-0 als Systemzeitgeber. Installiert den POSTINT1Ch-Handler. Aktiviert IRQ-0 im PIC für Systemzeitgeber-Interrupt. Fängt INT1Ch-Vektor auf "POSTINT1ChHandlerBlock".

8601

Initialisiert BMC-Schnittstelle. Deaktiviert BMC-Watchdog-Zeitgeber. Initialisiert BMC-Systemereignisprotokoll-Zeitgeber auf Zeit der RTC-Uhr.

DEB4

Überprüft, ob BMC-Ereignisprotokollbereich gültig/voll ist; zeigt Fehler an, wenn ungültig oder voll.

08

Deaktiviert Cache für alle CPU

C0

Früher CPU-Init.-Start – Lokalen APIC init.

C1

Richtet BSP-Informationen ein.

C2

Richtet BSP für POST ein. Dazu gehören die Frequenzberechnung, das Laden des BSP-Mikrocodes und das Anwenden des vom Benutzer angeforderten Werts für die Frage zum Einrichten der GART-Fehlerberichterstellung.

C3

Errata-Workaround für BSP

C5

Aufzählen und Einrichten der Anwendungsprozessoren. Dazu gehören das Laden des Mikrocodes und die Workarounds für die Errata.

C6

Erneutes Aktivieren des Cache für den BSP, Anwenden der Workarounds im BSP für Errata (wenn erforderlich). Im Fall von gemischten CPU-Steppings werden Fehler gefunden und protokolliert; es wird eine für alle CPU geeignete Frequenz ermittelt und angewendet. HINWEIS: AP werden im CLI - HLT-Status belassen.

0B

Ermittelt das Vorhandensein einer PS/2-Maus.

0C

Ermittelt das Vorhandensein einer Tastatur im KBC-Port.

0E

Testet und initialisiert die verschiedenen Eingabegeräte. Aktualisiert außerdem die Kernel-Variablen. Ermittelt den INT09h-Vektor, sodass der POST INT09h-Handler die Kontrolle für IRQ1 erhält. Dekomprimiert alle verfügbaren Sprach-, BIOS-Logo und Still-Logo-Module.

13

Initialisiert PM-Regs und PM PCI-Regs beim frühen POST. Initialisiert die Multihost-Brücke, sofern das System diese unterstützt. Richtet ECC-Optionen vor Löschen des Speichers ein. UMLEITUNG bewirkt, dass korrigierte Daten sofort ins RAM geschrieben werden. CHIPKILL liefert 4-Bit-Fehlerermittl./Korr. von x4 Typ Speicher. Aktiviert PCI-X-Uhr im 8131.

4113

Initialisiert NB-Geräte beim frühen POST, basierend auf Setup-Konfiguration. Initialisiert H2PCI-Brückenregister basierend auf Setup-Konfiguration.

42C1

Initialisiert South-Bridge-Geräteregister.

20

Reloziert alle CPU auf eine eindeutige SMBASE-Adresse. Der BSP hat seinen Eingangspunkt bei A000:0. Wenn weniger als 5 CPU-Sockel vorhanden sind, liegen nachfolgende CPU-Eingangspunkte 8000h Byte auseinander. Wenn mehr als 4 CPU-Sockel vorhanden sind, liegen die Eingangspunkte 200h Byte auseinander. Das CPU-Modul ist für die Relozierung der CPU auf die richtige Adresse zuständig. HINWEIS: AP werden im INIT-Zustand belassen.

24

Dekomprimieren und Initialisieren aller plattformspezifischen BIOS-Module.

30

Initialisieren des System-Management-Interrupt.

2A

Initialisiert verschiedene Geräte über DIM.

2C

Initialisiert verschiedene Geräte. Ermittelt und initialisiert die Video-Adapter im System, die optionale ROM besitzen.

2E

Initialisiert alle Ausgabegeräte.

31

Weist dem ADM-Modul Speicher zu und dekomprimiert es. Übergibt die Kontrolle für die Initialisierung an das ADM-Modul. Initialisiert Sprach- und Schriftmodule für ADM. Aktiviert das ADM-Modul.

33

Initialisiert das stille Boot-Modul. Stellt das Fenster zur Anzeige der Textinformationen ein.

37

Zeigt die Sign-On-Meldung, die CPU-Informationen, die Setup-Schlüssel-Meldung und etwaige OEM-spezifische Informationen an.

DEBD

Zeigt den Sun-Produktnamen an.

4137

Zeigt North-Bridge-Informationen an.

4237

Zeigt South-Bridge-Informationen an.

DEB8

Zeigt die Seriennummer der Blade sowie die SP-Firmware-Versionsnummer an.

38

Initialisiert verschiedene Geräte über DIM.

DEB1

Sendet CPU-, BIOS-Versions- und DIMM-Informationen an den SP.

39

Initialisiert DMAC-1 und DMAC-2.

3A

Initialisiert RTC-Datum/Zeit.

DEBD

Prüft auf gesamten im System installierten Speicher. Prüft außerdem auf Entf- oder Esc-Tasten zum Beschränken des Speichertests. Zeigt Gesamtspeicher im System.

3C

RAM-Lese-/Schreibtest abgeschlossen. Speicherlöcher werden programmiert bzw. erforderliche Anpassungen an der RAM-Größe bezüglich auf NB vorgenommen. Testet, ob HT-Modul im Boot-Block einen Fehler entdeckt hat; prüft CPU-Kompatibilität für MP-Umgebung.

40

Prüft, ob verschiedener Geräte (parallele und serielle Ports, Koprozessor in CPU) ordnungsgemäß im System installiert sind; aktualisiert BDA und EBDA.

50

Programmiert Speicherlöcher bzw. jede Implementierung, die eine Anpassung der RAM-Größe erfordert.

52

Aktualisiert die CMOS-Speichergröße. Speicher für erweiterten BIOS-Datenbereich vom konventionellen Speicher (Base Memory).

60

Initialisiert NUM-LOCK-Status und programmiert die KBD-typematic Rate.

75

Initialisiert Int-13 und bereitet IPL-Ermittlung vor.

78

Initialisiert durch BIOS kontrollierte IPL-Geräte und optionale ROM.

7A

Initialisiert die verbleibenden optionalen ROM.

7C

Generiert und schreibt Inhalt des ESCD ins NVRAM.

84

Protokolliert die während des POST ermittelte Fehler.

85

Zeigt dem Benutzer die Fehler an und nimmt dessen Reaktion entgegen.

87

Führt BIOS-Setup aus, wenn erforderlich oder angefordert.

8C

Nach Durchführen aller Geräte-Initialisierungen werden vom Benutzer einstellbare Parameter bezüglich NB/SB programmiert, u. a. Zeitparameter, nicht cachbare Regionen und Shadow-RAM-Cachefähigkeit; außerdem NB/SB/PCIX/OEM-spezifische Programmierung während des späten POST. Hintergrund-Scrubbing für DRAM, L1 und L2-Cachespeicher werden aufgrund der Setup-Konfiguration eingerichtet. Ermittelt DRAM-Scrub-Einschränkungen jedes Knotens. Das Workaround für Erratum #101 wird hier angewandt.

DEB1

Programmiert PCI-Subsystemlieferanten- und Geräte-ID.

8D

Erstellt ACPI-Tabellen (wenn ACPI-Unterstützung vorhanden)

8E

Programmiert Peripherieparameter. Aktiviert/deaktiviert NMI.

8600

Aktiviert erneut BMC-Watchdog-Zeitgeber, wenn dieser im Setup deaktiviert wurde.

90

Späte POST-Initialisierung des System-Management-Interrupt.

A0

Prüft Boot-Passwort, wenn eingerichtet.

A1

Bereinigungsarbeiten vor Starten des Betriebssystem.

A2

Nimmt Laufzeit-Image-Vorbereitung für verschiedene BIOS-Module vor. Füllt nicht belegten Bereich im F00h-Segment mit 0FFh auf. Initialisiert die Microsoft IRQ-Routing-Tabelle. Bereitet das Laufzeit-Sprachmodul vor. Deaktiviert bei Bedarf die Systemkonfigurationsanzeige.

A4

Initialisiert das Laufzeit-Sprachmodul.

A7

Zeigt die Systemkonfigurationsanzeige an, wenn aktiviert. Initialisiert die CPU vor dem Start, einschließlich Programmierung der MTRR.

A8

Bereitet CPU für Betriebssystemstart vor, einschließlich endgültiger MTRR-Werte.

A9

Wartet auf Benutzereingabe, wenn in Konfigurationsanzeige erforderlich.

AA

Deinstalliert POST INT1Ch- und INT09h-Vektoren. Deinitialisiert das ADM-Modul.

AB

Bereitet BBS für Int 19-Boot vor.

AC

Jede Art von spezifischer Programmierung für das Chipset (NB/SB0) während des End-POST, direkt vor Übergabe der Kontrolle an den Laufzeitcode zum Starten des Betriebssystems. Programmiert die System-BIOS-Cachefähigkeit (0F0000h Shadow-RAM). Portiert zur Behandlung jeglicher OEM-spezifischen Programmierung, die während des End-POST erforderlich ist. Kopiert OEM-spezifische Daten von POST_DSEG nach RUN_CSEG.

00

Ende des BIOS-POST. Bereitet CPU zum Starten des Betriebssystems vor: Kopiert den gesamten Kontext des BSP auf alle vorhandenen Anwendungsprozessoren. HINWEIS: AP werden im CLI - HLT-Status belassen.