1.CPU
1.1 CPU初始化各阶段
1.1.1 CPU SEC
在AMD Psp运行完,将控制权交给X86以后,X86开始跑的内容。
《Startup32.asm》
......
......
EXTERN SECCoreAtPowerOn:NEAR32
PUBLIC SECCoreAtPowerOnEnd
EXTERN BeforeSECEntry:NEAR32
PUBLIC BeforeSECEntryEnd
EXTERN BeforeSEC_S3Entry:NEAR32
PUBLIC BeforeSEC_S3EntryEnd
EXTERN NonSmmS3ResumeInit:NEAR
SecCEntry PROTO C
.......
......
changeCs:
; <<---- Processor is in 32 bit protected mode ---->>
; Invoke the SECCore Init hook for other components to hook functions
; INPUT:
; ESP BIST information
; EBP Reset ID (value of EDX at reset)
jmp SECCoreAtPowerOn //跳转到 SECCoreAtPowerOn
(1).Startup32.asm文件的目的是为了建立c语言运行环境,建立堆栈,供后续运行,运行到 jmp SECCoreAtPowerOn
后进行跳转。跳转到SECCore.ASM中的SECCoreAtPowerOn
。
(2)在SECCore.ASM中的SECCoreAtPowerOn
开始,跑完SECCPU_EarlyInit等内容后,返回Startup32.asm中。
(3)在