A.4 Debug code table

Code

CPU INIT DET CPU

CHIPINITDET DRAM

DC FCODE EFSHADOW INIT IO INIT HWM

CLR SCRNINIT8042ENABLEKBDIS MSR/W FSEGDET FLASHTESTCMOSPRG CHIP

INIT CLK CHECKCPU INTRINIT INITINT9

CPUSPEEDVGA BIOSTESTVRAMRESET KB

Description

CPU Initiation

Test CMOS R/W functionality.

Early chipset initialization: -Disable shadow RAM -Disable L2 cache

-Program basic chipset registers

Detect memory

-Auto-detection of DRAM size, type and ECC. -Auto-detection of L2 cache

Expand compressed BIOS code to DRAM

Call chipset hook to copy BIOS back to E000 & F000 shadow RAM. Initialize IO devices.

Initialize Hardware Monitor.

1.Blank out screen

2.Clear CMOS error flag

1.Clear 8042 interface

2.Initialize 8042 self-test

1.Test special keyboard controller for Super I/O chips.

2.Enable keyboard interface.

1.Disable PS/2 mouse interface (optional).

2.Auto detect ports for keyboard & mouse followed by a port & interface swap (optional).

3.Reset keyboard for Super I/O chips.

Test F000h segment shadow to see whether it is R/W-able or not. If test fails, keep beeping the speaker.

Auto detect flash type to load appropriate flash R/W codes into the run time area in F000 for ESCD & DMI support.

Use walking 1’s algorithm to check out interface in CMOS circuitry. Also set real-time clock power status, and then check for override.

Program chipset default values into chipset. Initialize clock generator.

Detect CPU information including brand, type and CPU level (586 or 686). Initial interrupts vector table.

Initialize INT 09 buffer

1.Program CPU internal MTRR (Pentium class CPU) for 0-640K memory address.

2.Initialize the APIC for Pentium class CPU.

3.Program early chipset according to CMOS setup. Example: onboard IDE controller.

4.Measure CPU speed.

5.Invoke video BIOS.

Initialize VGA BIOS

1.Initialize multi-language

2.Put information on screen display, including BIOS logo, CPU type, CPU speed .

Reset keyboard.

A-4

Appendix: CPU features