高通QCS平台UEFI爬坑之旅一:UEFI介绍
UEFI由来
UEFI(全称:Unified Extensible Firmware Interface),也叫统一可扩展固件接口,是操作系统和平台固件之间的“沟通桥梁”。随着64位系统渐渐取代32位,以及BIOS在64位系统上的限制,UEFI也逐渐取代BIOS的地位。UEFI启动
UEFI从上电到关机,一共有七个阶段:-
SEC(安全验证)
其功能包括:接受处理系统启动与重启信号、初始化临时RAM区、作为可信系统的根、以及传递系统参数到下一阶段。
其执行流程是:
上电 -> ResetVector -> SEC函数入口 -> PEI函数入口 -
PEI
主要功能是为DXE准备执行环境,将HOB列表传递给DXE。此阶段到后期内存才被初始化,所以资源相当有限,尚未可进行复杂的工作。 -
DXE
此阶段执行大部分系统初始化工作,内存已被初始化,可以进行大量复杂工作。当所有的Driver都执行完毕,说明系统初始化完成,接着通过EFI_BDS_ARCH_PROTOCAL找到BDS并调用BDS的入口函数,进入BDS阶段。 -
BDS
此阶段主要功能是执行启动策略,等OS Loader启动后,系统进入TSL阶段。 -
TSL
TSL是OS Loader执行的第一阶段,OS Loader在这个阶段作为UEFI APPLICATION运行,当ExitBootServices服务被调用后,进入RT(RunTime)阶段。 -
RT
系统进入此阶段后,系统控制权从UEFI内核转交到OS Loader上。随着OS Loader的执行,OS最终取得对系统的 控制权。 -
AL
在RT阶段,如果系统遇到灾难性错误,系统固件需要提供错误处理和灾难恢复机制,而这种机制运行在AL阶段。
参考:UEFI原理与编程