AMI POST Errors and Beep Codes
Test Points and Beep Codes
A checkpoint is either a byte or word value output to I/O port 80h. The BIOS outputs checkpoints throughout bootblock and
Power-On Self Test (POST) to indicate the task the system is currently executing. Checkpoints are very useful in aiding
software developers or technicians in debugging problems that occur during the pre-boot process. Beep codes are used by the
BIOS to indicate a serious or fatal error to the end user. Beep codes are used when an error occurs before the system video
has been initialized. Beep codes will be generated by the system board speaker, commonly referred to as the “PC speaker.”
Bootblock Initialization Code Checkpoints
The Bootblock initialization code sets up the chipset, memory and other components before system memory is available. The
following table describes the type of checkpoints that may occur during the bootblock initialization portion of the BIOS:
Checkpoint Description
D0
Go to flat mode with 4GB limit and GA20 enabled. Early chipset initialization is done.
D1
Early super I/O initialization is done including RTC and keyboard controller. NMI is disabled. Perform
keyboard controller BAT test. Check if waking up from power management suspend state. Save
power-on CPUID value in scratch CMOS.
D2
Verify the bootblock checksum.Disable CACHE before memory detection. Execute full memory
sizing module. Verify that flat mode is enabled.
D3
If memory sizing module not executed, start memory refresh and do memory sizing in Bootblock
code. Do additional chipset initialization. Re-enable CACHE. Verify that flat mode is enabled.
D4
Test base 512KB memory. Adjust policies and cache first 8MB. Set stack.
D5
Bootblock code is copied from ROM to lower system memory and control is given to it. BIOS now
executes out of RAM.
D6
Both key sequence and OEM specific method is checked to determine if BIOS recovery is forced.
Main BIOS checksum is tested. If BIOS recovery is necessary, control flows to checkpoint E0. See
Bootblock Recovery Code Checkpoints section of document for more information.
D7
Restore CPUID value back into register. The Bootblock-Runtime interface module is moved to
system memory and control is given to it. Determine whether to execute serial flash.
D8
The Runtime module is uncompressed into memory. CPUID information is stored in memory.
D9
Store the Uncompressed pointer for future use in PMM. Copying Main BIOS into memory. Leaves all
RAM below 1MB Read-Write including E000 and F000 shadow areas but closing SMRAM.
DA
Restore CPUID value back into register. Give control to BIOS POST (ExecutePOSTKernel). See
POST Code Checkpoints section of document for more information.
Appendix A — Support
161