Boot block and POST debug code文档格式.docx
《Boot block and POST debug code文档格式.docx》由会员分享,可在线阅读,更多相关《Boot block and POST debug code文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
D5
BootblockcodeiscopiedfromROMtolowersystemmemoryandcontrolis
giventoit.BIOSnowexecutesoutofRAM.Copiescompressedbootblock
codetomemoryinrightsegments.CopiesBIOSfromROMtoRAMforfaster
access.PerformsmainBIOSchecksumandupdatesrecoverystatus
accordingly.
D6
BothkeysequenceandOEMspecificmethodischeckedtodetermineifBIOS
recoveryisforced.IfBIOSrecoveryisnecessary,controlflowsto
checkpointE0.SeeBootblockRecoveryCodeCheckpointssectionof
documentformoreinformation.
D7
RestoreCPUIDvaluebackintoregister.TheBootblock-Runtimeinterface
moduleismovedtosystemmemoryandcontrolisgiventoit.Determine
whethertoexecuteserialflash.
D8
TheRuntimemoduleisuncompressedintomemory.CPUIDinformationis
storedinmemory.
D9
StoretheUncompressedpointerforfutureuseinPMM.CopyingMainBIOS
intomemory.LeavesallRAMbelow1MBRead-WriteincludingE000and
F000shadowareasbutclosingSMRAM.
DA
RestoreCPUIDvaluebackintoregister.GivecontroltoBIOSPOST
(ExecutePOSTKernel).SeePOSTCodeCheckpointssectionofdocumentfor
moreinformation.
DC
SystemiswakingfromACPIS3state
E1-E8
EC-EE
OEMmemorydetection/configurationerror.Thisrangeisreservedfor
chipsetvendors&
systemmanufacturers.Theerrorassociatedwiththis
valuemaybedifferentfromoneplatformtothenext.
2Pleasenotethatcheckpointsmaydifferbetweendifferentplatformsbasedonsystemconfiguration.
Checkpointsmaychangeduetovendorrequirements,systemchipsetoroptionROMsfromadd-inPCIdevices.
POSTCheckpoints
03
DisableNMI,Parity,videoforEGA,andDMAcontrollers.InitializeBIOS,
POST,Runtimedataarea.AlsoinitializeBIOSmodulesonPOSTentryand
GPNVarea.InitializedCMOSasmentionedintheKernelVariable
"
wCMOSFlags."
04
CheckCMOSdiagnosticbytetodetermineifbatterypowerisOKandCMOS
checksumisOK.VerifyCMOSchecksummanuallybyreadingstoragearea.
IftheCMOSchecksumisbad,updateCMOSwithpower-ondefaultvalues
andclearpasswords.InitializestatusregisterA.
InitializesdatavariablesthatarebasedonCMOSsetupquestions.
Initializesboththe8259compatiblePICsinthesystem
05
Initializestheinterruptcontrollinghardware(generallyPIC)andinterrupt
vectortable.
06
DoR/WtesttoCH-2countreg.InitializeCH-0assystemtimer.Installthe
POSTINT1Chhandler.EnableIRQ-0inPICforsystemtimerinterrupt.
TrapsINT1Chvectorto"
POSTINT1ChHandlerBlock."
07
FixesCPUPOSTinterfacecallingpointer.
08
InitializestheCPU.TheBATtestisbeingdoneonKBC.Programthe
keyboardcontrollercommandbyteisbeingdoneafterAutodetectionof
KB/MSusingAMIKB-5.
C0
EarlyCPUInitStart--DisableCache–InitLocalAPIC
C1
SetupbootstrapprocessorInformation
C2
SetupbootstrapprocessorforPOST
C5
Enumerateandsetupapplicationprocessors
C6
Re-enablecacheforbootstrapprocessor
C7
EarlyCPUInitExit
0A
Initializesthe8042compatibleKeyBoardController.
0B
DetectsthepresenceofPS/2mouse.
0C
DetectsthepresenceofKeyboardinKBCport.
0E
TestingandinitializationofdifferentInputDevices.Also,updatethe
KernelVariables.
TrapstheINT09hvector,sothatthePOSTINT09hhandlergetscontrolfor
IRQ1.Uncompressallavailablelanguage,BIOSlogo,andSilentlogo
modules.
13
EarlyPOSTinitializationofchipsetregisters.
20
RelocateSystemManagementInterruptvectorforallCPUinthesystem.
24
UncompressandinitializeanyplatformspecificBIOSmodules.GPNVis
initializedatthischeckpoint.
2A
InitializesdifferentdevicesthroughDIM.
SeeDIMCodeCheckpointssectionofdocumentformoreinformation.
2C
Initializesdifferentdevices.Detectsandinitializesthevideoadapter
installedinthesystemthathaveoptionalROMs.
2E
Initializesalltheoutputdevices.
31
AllocatememoryforADMmoduleanduncompressit.GivecontroltoADM
moduleforinitialization.InitializelanguageandfontmodulesforADM.
ActivateADMmodule.
33
Initializesthesilentbootmodule.Setthewindowfordisplayingtext
information.
37
Displayingsign-onmessage,CPUinformation,setupkeymessage,andany
OEMspecificinformation.
38
InitializesdifferentdevicesthroughDIM.SeeDIMCodeCheckpoints
sectionofdocumentformoreinformation.USBcontrollersareinitialized
atthispoint.
39
InitializesDMAC-1&
DMAC-2.
3A
InitializeRTCdate/time.
3B
Testfortotalmemoryinstalledinthesystem.Also,CheckforDELorESC
keystolimitmemorytest.Displaytotalmemoryinthesystem.
3C
MidPOSTinitializationofchipsetregisters.
40
Detectdifferentdevices(Parallelports,serialports,andcoprocessorin
CPU,…etc.)successfullyinstalledinthesystemandupdatetheBDA,
EBDA…etc.
52
UpdatesCMOSmemorysizefrommemoryfoundinmemorytest.Allocates
memoryforExtendedBIOSDataAreafrombasememory.Programming
thememoryholeoranykindofimplementationthatneedsanadjustment
insystemRAMsizeifneeded.
60
InitializesNUM-LOCKstatusandprogramstheKBDtypematicrate.
75
InitializeInt-13andprepareforIPLdetection.
78
InitializesIPLdevicescontrolledbyBIOSandoptionROMs.
7CGenerateandwritecontentsofESCDinNVRam.
84
LogerrorsencounteredduringPOST.
85
Displayerrorstotheuserandgetstheuserresponseforerror.
87
ExecuteBIOSsetupifneeded/requested.Checkbootpasswordif
installed.
8C
LatePOSTinitializationofchipsetregisters.
8D
BuildACPItables(ifACPIissupported)
8E
Programtheperipheralparameters.Enable/DisableNMIasselected
90
Initializationofsystemmanagementinterruptbyinvokingallhandlers.
Pleasenotethischeckpointcomesrightaftercheckpoint20h
A1Clean-upworkneededbeforebootingtoOS.
A2
TakescareofruntimeimagepreparationfordifferentBIOSmodules.Fill
thefreeareainF000hsegmentwith0FFh.InitializestheMicrosoftIRQ
RoutingTable.Preparestheruntimelanguagemodule.Disablesthe
systemconfigurationdisplayifneeded.
A4
Initializeruntimelanguagemodule.Displaybootoptionpopupmenu.
A7
Displaysthesystemconfigurationscreenifenabled.InitializetheCPU’s
beforeboot,whichincludestheprogrammingoftheMTRR’s.
A9
Waitforuserinputatconfigdisplayifneeded.
AA
UninstallPOSTINT1ChvectorandINT09hvector.
AB
PrepareBBSforInt19boot.InitMPtables.
AC
EndofPOSTinitializationofchipsetregisters.De-initializestheADM
module.
B1
SavesystemcontextforACPI.PrepareCPUforOSbootincludingfinal
MTRRvalues.
00
PassescontroltoOSLoader(typicallyINT19h).