ASUS Powerpoint Template

Download Report

Transcript ASUS Powerpoint Template

POST code
Sephiroth Kwon
GRMA
01-06-2009
Overview
• What is POST Code
• Appendix:
– AMI Bios Code Definition
– Phoenix Bios Code Definition
What is POST Code
• POST : Power On Self Test
– The tag thrown out by BIOS
• Usually, BIOS would output some number through
80ports. Using I/O access card (debug card), user
could read those number.
• The POST codes used by Phoenix, and AMI are
different.
• These numbers mean something was executing in the
system.
What is POST Code
• POST Code as BIOS executing process
– Standard POST Code
• These numbers were used as standard process.
– BIOS Debug Code
• These numbers depend on various project.
Phoenix code define
Code
02h
03h
04h
06h
08h
09h
0Ah
0Bh
0Ch
0Eh
0Fh
10h
11h
12h
13h
14h
16h
17h
18h
1Ah
1Ch
Beeps
1-2-2-3
POST Routine Description
Verify Real Mode
Disable Non-Maskable Interrupt (NMI)
Get CPU type
Initialize system hardware
Initialize chipset with initial POST values
Set IN POST flag
Initialize CPU registers
Enable CPU cache
Initialize caches to initial POST values
Initialize I/O component
Initialize the local bus IDE
Initialize Power Management
Load alternate registers with initial POST values
Restore CPU control word during warm boot
Initialize PCI Bus Mastering devices
Initialize keyboard controller
BIOS ROM checksum
Initialize cache before memory autosize
8254 timer initialization
8237 DMA controller initialization
Reset Programmable Interrupt Controller
Phoenix code define
Code
20h
22h
24h
26h
28h
29h
2Ah
2Ch
2Eh
2Fh
30h
32h
33h
36h
38h
3Ah
3Ch
3Dh
42h
45h
46h
Beeps
1-3-1-1
1-3-1-3
1-3-4-1
1-3-4-3
1-4-1-1
2-1-2-3
POST Routine Description
Test DRAM refresh
Test 8742 Keyboard Controller
Set ES segment register to 4 GB
Enable A20 line
Autosize DRAM
Initialize POST Memory Manager
Clear 512 KB base RAM
RAM failure on address line xxxx*
RAM failure on data bits xxxx* of low byte of memory bus
Enable cache before system BIOS shadow
RAM failure on data bits xxxx* of high byte of memory bus
Test CPU bus-clock frequency
Initialize Phoenix Dispatch Manager
Warm start shut down
Shadow system BIOS ROM
Autosize cache
Advanced configuration of chipset registers
Load alternate registers with CMOS values
Initialize interrupt vectors
POST device initialization
Check ROM copyright notice
Phoenix code define
Code
48h
49h
4Ah
4Bh
4Ch
4Eh
50h
51h
52h
54h
58h
59h
5Ah
5Bh
5Ch
60h
62h
64h
66h
67h
Beeps
2-2-3-1
POST Routine Description
Check video configuration against CMOS
Initialize PCI bus and devices
Initialize all video adapters in system
QuietBoot start (optional)
Shadow video BIOS ROM
Display BIOS copyright notice
Display CPU type and speed
Initialize EISA board
Test keyboard
Set key click if enabled
Test for unexpected interrupts
Initialize POST display service
Display prompt "Press F2 to enter SETUP"
Disable CPU cache
Test RAM between 512 and 640 KB
Test extended memory
Test extended memory address lines
Jump to UserPatch1
Configure advanced cache registers
Initialize Multi Processor APIC
Phoenix code define
Code
68h
69h
6Ah
6Bh
6Ch
6Eh
70h
72h
76h
7Ch
7Eh
80h
81h
82h
83h
84h
85h
86h
87h
88h
Beeps
POST Routine Description
Enable external and CPU caches
Setup System Management Mode (SMM) area
Display external L2 cache size
Load custom defaults (optional)
Display shadow-area message
Display possible high address for UMB recovery
Display error messages
Check for configuration errors
Check for keyboard errors
Set up hardware interrupt vectors
Initialize coprocessor if present
Disable onboard Super I/O ports and IRQs
Late POST device initialization
Detect and install external RS232 ports
Configure non-MCD IDE controllers
Detect and install external parallel ports
Initialize PC-compatible PnP ISA devices
Re-initialize onboard I/O ports.
Configure Motheboard Configurable Devices (optional)
Initialize BIOS Data Area
Phoenix code define
Code
89h
8Ah
8Bh
8Ch
8Fh
90h
91h
92h
93h
95h
96h
97h
Beeps
98h
1-2
99h
9Ah
9Ch
9Dh
9Eh
9Fh
A0h
POST Routine Description
Enable Non-Maskable Interrupts (NMIs)
Initialize Extended BIOS Data Area
Test and initialize PS/2 mouse
Initialize floppy controller
Determine number of ATA drives (optional)
Initialize hard-disk controllers
Initialize local-bus hard-disk controllers
Jump to UserPatch2
Build MPTABLE for multi-processor boards
Install CD ROM for boot
Clear huge ES segment register
Fixup Multi Processor table
Search for option ROMs. One long, two short beeps on
checksum failure
Check for SMART Drive (optional)
Shadow option ROMs
Set up Power Management
Initialize security engine (optional)
Enable hardware interrupts
Determine number of ATA and SCSI drives
Set time of day
Phoenix code define
Code
A2h
A4h
A8h
AAh
ACh
AEh
B0h
B2h
B4h
B5h
B6h
B9h
BAh
BBh
BCh
BDh
BEh
BFh
C0h
C1h
Beeps
1
POST Routine Description
Check key lock
Initialize Typematic rate
Erase F2 prompt
Scan for F2 key stroke
Enter SETUP
Clear Boot flag
Check for errors
POST done - prepare to boot operating system
One short beep before boot
Terminate QuietBoot (optional)
Check password (optional)
Prepare Boot
Initialize DMI parameters
Initialize PnP Option ROMs
Clear parity checkers
Display MultiBoot menu
Clear screen (optional)
Check virus and backup reminders
Try to boot with INT 19
Initialize POST Error Manager (PEM)
Phoenix code define
Code
Beeps
POST Routine Description
C2h
Initialize error logging
C3h
Initialize error display function
C4h
Initialize system error handler
C5h
PnPnd dual CMOS (optional)
C6h
Initialize notebook docking (optional)
C7h
Initialize notebook docking late
C8h
Force check (optional)
C9h
Extended checksum (optional)
D2h
Unknown interrupt
Phoenix code define
Code
Beeps
For Boot Block in Flash ROM
E0h
Initialize the chipset
E1h
Initialize the bridge
E2h
Initialize the CPU
E3h
Initialize system timer
E4h
Initialize system I/O
E5h
Check force recovery boot
E6h
Checksum BIOS ROM
E7h
Go to BIOS
E8h
Set Huge Segment
E9h
Initialize Multi Processor
EAh
Initialize OEM special code
EBh
Initialize PIC and DMA
Phoenix code define
Code
Beeps
For Boot Block in Flash ROM
ECh
Initialize Memory type
EDh
Initialize Memory size
EEh
Shadow Boot Block
EFh
System memory test
F0h
Initialize interrupt vectors
F1h
Initialize Run Time Clock
F2h
Initialize video
F3h
Initialize System Management Mode
F4h
1
Output one beep before boot
F5h
Boot to Mini DOS
F6h
Clear Huge Segment
F7h
Boot to Full DOS
AMI code define
• 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 BIOS1:
Checkpoint
Before D0
D0
D1
Description
If boot block debugger is enabled, CPU cache-as-RAM
functionality is enabled at this point. Stack will be enabled from
this point.
Early Boot Strap Processor (BSP) initialization like microcode
update, frequency and other CPU critical initialization. Early
chipset initialization is done.
Early super I/O initialization is done including RTC and
keyboard controller. Serial port is enabled at this point if needed
for debugging. NMI is disabled. Perform keyboard controller
BAT test. Save power-on CPUID value in scratchCMOS. Go to
flat mode with 4GB limit and GA20 enabled.
AMI code define
Checkpoint
D2
D3
D4
Description
Verify the boot block checksum. System will hang here if checksum is
bad.
Disable CACHE before memory detection. Execute full memory sizing
module. If memory sizing module not executed, start memory refresh
and do memory sizing in Boot block code. Do additional chipset
initialization. Re-enable CACHE. Verify that flat mode is enabled.
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. Copies
compressed boot block code to memory in right segments. Copies
BIOS from ROM to RAM for faster access. Performs main BIOS
checksum and updates recovery status accordingly.
D6
Both key sequence and OEM specific method is checked to determine
if BIOSrecovery is forced. If BIOS recovery is necessary, control
flows to checkpoint E0. See Bootblock Recovery Code Checkpoints
section of document for more information.
AMI code define
Checkpoint
Description
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.
DC
System is waking from ACPI S3 state
OEM memory detection/configuration error. This range is reserved
E1-E8 EC-EE for chipset vendors & system manufacturers. The error associated
with this value may be different from one platform to the next.
AMI code define
• Bootblock Recovery Code Checkpoints
– The Bootblock recovery code gets control when the BIOS
determines that a BIOS recovery needs to occur because the
user has forced the update or the BIOS checksum is corrupt.
The following table describes the type of checkpoints that may
occur during the Bootblock recovery portion of the BIOS2:
Checkpoint
EB
Description
Initialize the floppy controller in the super I/O. Some interrupt
vectors are initialized. DMA controller is initialized. 8259 interrupt
controller is initialized. L1 cache is enabled.
Set up floppy controller and data. Attempt to read from floppy.
Enable ATAPI hardware. Attempt to read from ARMD and ATAPI
CDROM.
Disable ATAPI hardware. Jump back to checkpoint E9.
EF
Read error occurred on media. Jump back to checkpoint EB.
F0
Search for pre-defined recovery file name in root directory.
F1
Recovery file not found.
E0
E9
EA
AMI code define
Checkpoint
F3
Description
Start reading FAT table and analyze FAT to find the clusters
occupied by therecovery file.
Start reading the recovery file cluster by cluster.
F5
Disable L1 cache.
FA
Check the validity of the recovery file configuration to the current
configuration of the flash part.
F2
F4
Make flash write enabled through chipset and OEM specific
method. Detect proper flash part. Verify that the found flash part
size equals the recovery file size.
The recovery file size does not equal the found flash part size.
FC
Erase the flash part.
FD
Program the flash part.
FF
The flash has been updated successfully. Make flash write
disabled. Disable ATAPI hardware. Restore CPUID value back into
register. Give control to F000 ROM at F000:FFF0h.
FB
AMI code define
• POST Code Checkpoints
– The POST code checkpoints are the largest set of checkpoints
during the BIOS pre-boot process. The following table describes
the type of checkpoints that may occur during the POST portion
of the BIOS3:
Checkpoint
03
04
05
Description
Disable NMI, Parity, video for EGA, and DMA controllers.
Initialize BIOS, POST, Runtime data area. Also initialize BIOS
modules on POST entry and GPNV area. Initialized CMOS as
mentioned in the Kernel Variable "wCMOSFlags."
Check CMOS diagnostic byte to determine if battery power is
OK and CMOSchecksum is OK. Verify CMOS checksum
manually by reading storage area.If the CMOS checksum is bad,
update CMOS with power-on default values and clear passwords.
Initialize status register A. Initializes data variables that are based
on CMOS setup questions. Initializes both the 8259 compatible
PICs in the system
Initializes the interrupt controlling hardware (generally PIC) and
interrupt vector table.
AMI code define
Checkpoint
Description
06
Do R/W test to CH-2 count reg. Initialize CH-0 as system timer.
Install the POSTINT1Ch handler. Enable IRQ-0 in PIC for system
timer interrupt. Traps INT1Ch vector to
"POSTINT1ChHandlerBlock."
07
Fixes CPU POST interface calling pointer.
08
Initializes the CPU. The BAT test is being done on KBC. Program
the keyboard controller command byte is being done after Auto
detection of KB/MS using AMI KB-5.
C0
Early CPU Init Start -- Disable Cache – Init Local APIC
C1
Set up boot strap processor Information
C2
Set up boot strap processor for POST
C5
Enumerate and set up application processors
AMI code define
Checkpoint
C6
C7
0A
0B
0C
0E
13
20
24
2A
2C
Description
Re-enable cache for boot strap processor
Early CPU Init Exit
Initializes the 8042 compatible Key Board Controller.
Detects the presence of PS/2 mouse.
Detects the presence of Keyboard in KBC port.
Testing and initialization of different Input Devices. Also, update
the Kernel Variables. Traps the INT09h vector, so that the POST
INT09h handler gets control for IRQ1. Uncompress all available
language, BIOS logo, and Silent logo modules.
Early POST initialization of chipset registers.
Relocate System Management Interrupt vector for all CPU in the
system.
Uncompress and initialize any platform specific BIOS modules.
GPNV is initialized at this checkpoint.
Initializes different devices through DIM. See DIM Code
Checkpoints section of document for more information.
Initializes different devices. Detects and initializes the video
adapter installed in the system that have optional ROMs.
AMI code define
Checkpoint
2E
31
33
37
38
39
3A
3B
3C
40
Description
Initializes all the output devices.
Allocate memory for ADM module and uncompress it. Give control to
ADM module for initialization. Initialize language and font modules for
ADM. Activate ADM module.
Initializes the silent boot module. Set the window for displaying text
information.
Displaying sign-on message, CPU information, setup key message, and
any OEM specific information.
Initializes different devices through DIM. See DIM Code Checkpoints
section of document for more information. USB controllers are
initialized at this point.
Initializes DMAC-1 & DMAC-2.
Initialize RTC date/time.
Test for total memory installed in the system. Also, Check for DEL or
ESC keys to limit memory test. Display total memory in the system.
Mid POST initialization of chipset registers.
Detect different devices (Parallel ports, serial ports, and coprocessor in
CPU, … etc.) successfully installed in the system and update the BDA,
EBDA…etc.
AMI code define
Checkpoint
52
60
75
78
7C
84
85
87
8C
8D
8E
90
Description
Updates CMOS memory size from memory found in memory test.
Allocatesmemory for Extended BIOS Data Area from base memory.
Programming the memory hole or any kind of implementation that needs
an adjustment in system RAM size if needed.
Initializes NUM-LOCK status and programs the KBD typematic rate.
Initialize Int-13 and prepare for IPL detection.
Initializes IPL devices controlled by BIOS and option ROMs.
Generate and write contents of ESCD in NVRam.
Log errors encountered during POST.
Display errors to the user and gets the user response for error.
Execute BIOS setup if needed / requested. Check boot password if
installed.
Late POST initialization of chipset registers.
Build ACPI tables (if ACPI is supported)
Program the peripheral parameters. Enable/Disable NMI as selected
Initialization of system management interrupt by invoking all handlers.
Please note this checkpoint comes right after checkpoint 20h
AMI code define
Checkpoint
A1
A2
A4
A7
A9
AA
AB
AC
B1
00
Description
Clean-up work needed before booting to OS.
Takes care of runtime image preparation for different BIOS
modules. Fill the free area in F000h segment with 0FFh. Initializes
the Microsoft IRQ Routing Table. Prepares the runtime language
module. Disables the system configuration display if needed.
Initialize runtime language module. Display boot option popup
menu.
Displays the system configuration screen if enabled. Initialize the
CPU’s before boot, which includes the programming of the
MTRR’s.
Wait for user input at config display if needed.
Uninstall POST INT1Ch vector and INT09h vector.
Prepare BBS for Int 19 boot. Init MP tables.
End of POST initialization of chipset registers. De-initializes the
ADM module.
Save system context for ACPI. Prepare CPU for OS boot including
finalMTRR values.
Passes control to OS Loader (typically INT19h).
AMI code define
• OEM POST Error Checkpoints
– Checkpoints from the range 61h to 70h are reserved for chipset
vendors & system manufacturers. The error associated with this
value may be different from one platform to the next.
AMI code define
• DIM Code Checkpoints
– The Device Initialization Manager (DIM) gets control at various
times during BIOS POST to initialize different system busses.
The following table describes the main checkpoints where the
DIM module is accessed4:
Checkpoint
2A
38
Description
Initialize different buses and perform the following functions: Reset, Detect, and
Disable (function 0); Static Device Initialization (function 1); Boot Output Device
Initialization (function 2). Function 0 disables all device nodes, PCI devices, and PnP
ISA cards. It also assigns PCI bus numbers. Function 1 initializes all static devices that
include manual configured onboard peripherals, memory and I/O decode windows in
PCI-PCI bridges, and noncompliant PCI devices. Static resources are also reserved.
Function 2 searches for and initializes any PnP, PCI, or AGP video devices.
Initialize different buses and perform the following functions: Boot Input Device
Initialization (function 3); IPL Device Initialization (function 4); General Device
Initialization (function 5). Function 3 searches for and configures PCI input devices
and detects if system has standard keyboard controller. Function 4 searches for and
configures all PnP and PCI boot devices. Function 5 configures all onboard peripherals
that are set to an automatic configuration and configures all remaining PnP and PCI
devices.
AMI code define
• ACPI Runtime Checkpoints
– ACPI checkpoints are displayed when an ACPI capable
operating system either enters or leaves a sleep state. The
following table describes the type of checkpoints that may occur
during ACPI sleep or wake events5:
Checkpoint
AC
Description
First ASL check point. Indicates the system is running in ACPI
mode.
System is running in APIC mode.
AA
01, 02, 03, 04,
Entering sleep state S1, S2, S3, S4, or S5.
05
10, 20, 30, 40,
Waking from sleep state S1, S2, S3, S4, or S5.
50
Thank You!