Error Messages and Beep Codes

5.2 Port 80h POST Codes

During the POST, the BIOS generates diagnostic progress codes (POST-codes) to I/O port 80h. If the POST fails, execution stops and the last POST code generated is left at port 80h. This code is useful for determining the point where an error occurred.

Displaying the POST-codes requires an add-in card (often called a POST card). The POST card can decode the port and display the contents on a medium such as a seven-segment display.

The tables below offer descriptions of the POST codes generated by the BIOS. Table 59 defines the Uncompressed INIT Code Checkpoints, Table 60 describes the Boot Block Recovery Code Checkpoints, and Table 61 lists the Runtime Code Uncompressed in F000 Shadow RAM. Some codes are repeated in the tables because that code applies to more than one operation.

Table 59. Uncompressed INIT Code Checkpoints

Code

D0

D1

D3

D4

D5

D6

D7

D8

D9

Description of POST Operation

NMI is disabled. Onboard KBC, RTC enabled (if present). Init code Checksum verification starting.

Keyboard controller BAT test, CPU ID saved, and going to 4 GB flat mode.

Do necessary chipset initialization, start memory refresh, do memory sizing.

Verify base memory.

Init code to be copied to segment 0 and control to be transferred to segment 0.

Control is in segment 0. To check recovery mode and verify main BIOS checksum. If the BIOS is in recovery mode or the main BIOS checksum is bad, go to check point E0 for recovery else go to check point D7 for giving control to main BIOS.

Find main BIOS module in ROM image.

Uncompress the main BIOS module.

Copy main BIOS image to F000 shadow RAM and give control to main BIOS in F000 shadow RAM.

Table 60. Boot Block Recovery Code Checkpoints

Code

E0

E8

E9

EA

EB

EC

EF

Description of POST Operation

Onboard floppy controller (if any) is initialized. Compressed recovery code is uncompressed in F000:0000 in shadow RAM and give control to recovery code in F000 Shadow RAM. Initialize interrupt vector tables, initialize system timer, initialize DMA controller, interrupt controller.

Initialize extra (Intel Recovery) Module.

Initialize floppy drive.

Try to boot from floppy. If reading of boot sector is successful, give control to boot sector code.

Booting from floppy failed, look for ATAPI (LS-120, Zip) devices.

Try to boot from ATAPI. If reading of boot sector is successful, give control to boot sector code.

Booting from floppy and ATAPI device failed. Give two beeps. Retry the booting procedure again (go to check point E9).

91