==============================
敬请关注:“固件C字营
==============================
SecCore也被称之为VTF,被映射到Boot Firmware Volume (BFV),BFV的地址被放置在0xFFFFFFE0连续的4个字节(小端模式)。 SecCore 是一个FFS firmware file,其文件末端地址与于BFV的末端地址重合。一般会在,reset vector(地址0xFFFFFFF0)放置一条跳转指令(ResetVec.nasmb),跳转到SecCore入口,其地址为PlatformSecLib的SecEntry.nasm汇编_ModuleEntryPoint宏定义处,SecCore完成基本的初始化之后会调用PeiCoreEntry.nasm内的CallPeiCoreEntryPoint()函数,跳转到PeiCore。流程就是Hardware Reset ->跳转指令->SecEntry.nasm (_ModuleEntryPoint)-> PeiCoreEntry.nasm(CallPeiCoreEntryPoin()))
PeiCore的32bit入口地址是可以被映射到0xFFFFFFE0连续的4个字节(小端模式)。整个PeiCore文件也可以被映射到BFV或其他的FV的任何位置,前提是需要SecCore创建EFI_PEI_CORE_FV_LOCATION_GUID类型的PPI,通过此PPI获取PeiCore所在的FV地址,进而在BFV或其他的FV里面去搜索EFI_FV_FILETYPE_PEI_CORE类型的FFS文件,从而得到PeiCore的映射地址,并跳转到PeiCore执行。
参考文件:
SecCore/Ia32/ResetVec.nasmb
Ia32/SecEntry.nasm
Ia32/PeiCoreEntry.nasm
更多导读,尽情期待!
==============================
敬请猛戳下面链接,关注&转发
敬请关注:“固件C字营”
点击左下角“分享”,快乐更多人
==============================