关键词不能为空

当前您在: 主页 > 英语 >

BIOS工作的几个阶段--bios phase

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-13 12:02
tags:

-

2021年2月13日发(作者:cani)


Intel?


Framework


Architecture


Specification·


3


(Chapter3:Pre-EFI


Initialization


(PEI)


Phase)2007-05-26 15:253 Pre-EFI Initialization (PEI) Phase




3.1 Introduction



















Pre-EFI


Initialization


(PEI)


phase


提供了标准 化的


method



loading




invoking


特定的初始



configuration


routines


for


the


processor,


chipset,


and


motherboard.


PEI


phase


的首要目的是初始 化足够的系统来允许


Driver Execution Environment (DXE) phase


运作


.


最基本的


, PEI Phase


要做到决定系统


boot path;


初始化并描述


system RAM



firmware volume


的最小值


. Firmware volume


包含了


DXE Foundation




DXE Architectural Protocols.





















3.1.1 Scope



PEI


phase


负责将系统初始化 到足够提供一个稳定的基础给随后的


phase,


还负责侦测和


recovering from


出问题的


firmware storage space.











2000


年时代的

< br>PC


刚开始执行时还是处于非常原始的状态


,


processor


需要通过


microcod e



update, chipset


需要做非常多的初始化动作


, RAM


需要


sizing, location


和其他初


始化


. PEI phase


就负责初始化这些


subsystem.


另外


PEI


还将提供一个简单的基础框 架以供很


容易的完成到


DXE


phase


的转换


.


换而言之


,


它必须完成开始


DXE


所需要的最少的动作


.


H/W


有改变时


,


这些动作也有所改变


.





















3.1.2 Rationale


基本原理













PEI


的设计本质上是一个微型版本的


DX E,


以用来处理很多相同的


issue.


组成


:



- A PEI Foundation



- One or more Pre-EFI Initialization Modules (PEIMs)



PEI Foundation


的目 的是为特殊的


processor


架构保留参数


,


并支持来自各种


processor, chipset,


platform vendor



add-in module.










PEI



DXE


不 同


,


因为


DXE

理所当然的认为


system


RAM


都存在并可用


.


PEI


则需认


定只用有限的


temporary


RAM


存在


,


并且当


permanent


system


RAM


初始化完后可以 重分配


temporary RAM


以供他用


.


就本身而言


, PEI


并不像


DXE


那样有丰富的


feature





















3.1.3 Overview












PEI phase



foundation code


和特殊的


driver(PEIM)


组成


. Foundation code


负责按连


续的 顺序分配


plug-in,


并提供基本的


service.


而< /p>


PEIM


则类似与


DXE driver


通常与要初始化



component


对应


.


预订的惯例是由


component vendor


来提供


PEIM.








PEI phase


的实现比其他< /p>


phase


更依赖于


processor


架构


.


特别是


,



processor


在其初始


化或准初始化状态能提供的


resource


越多


, PEI


环境就会越充足


.

















3.2 Phase Prerequisites














下面的


section


描述了成功完成


PEI phase


所必须的条件


.














3.2.1 Temporary RAM















PEI foundation


需要


SEC phase


初始化一段有最低限度容量的


scratch pad RAM.


这段


RAM


可被< /p>


PEI


phase


用来做


data


store


直到


system


memory


被完全初始化


.


Scratch


pad


RAM


可以如同普通的


system


RAM


一样访问


,

< br>比如通过


FSB



memory


cycle


来读写


.



system memory


被完全初始化后


,


这段 临时的


RAM


可重配置做他用


.


一种典型的实现方式就


是用


process or


的内部


cache


来做

< p>
.
















3.2.2 Boot Firmware V


olume















Boot


Firmware


Volume


(BFV)


包括了


PEI


Foundation




PEIM.


它必须出现


在系统的


memory address space,


并不能有前置


F/W


插入


.


其包含了


reset vector.















BFV


的内容遵循


EFI


flash


file


system


的格式


.


Platform-specific


PEIM


要通知


PEI foundation


其他


firmware volume



location,


以方便其寻找


.














3.2.3 Security Primitives








SEC


phase


会提供


interface



PEI


foundation


做鉴定操作


.


为了继续保持


root


of


trust,


PEI foundation


会用这个机制去鉴定各种


PEIM.





3.3 Concepts








3.3.1 PEI Foundation














执行两个主要功能


:



- Dispatching PEIMs



- Providing a set of common core services used by PEIMs















PEI


Dispatcher


的工作是按照顺序方式传递控制权给


PEIM.



common


core


services


则是从头到尾的按照


PEI Services Table


提供服务


.

这些服务做的事情如下


:



1.


协助


PEIM-to-PEIM communication.



2.


简要的管理


temporary RAM.



3.


提供通用

functions


来帮助


PEIM


做到


:













-



FF S


中寻找其他


file













-


报告


status code













-


为< /p>


Framework


的下一个


phase


准备


handoff state















SEC phase


完成后


, SEC


会调入


PEI Foundation


并提供以下参数给


PEI:



- BFV



location



size,


以让


PEI Foundation


知 道去哪里寻找


PEIM


的初始化套路


.



- PEI phase


可用的最小数量



temporary RAM



-


鉴定


service callback


以让


PEI Foundation


验证


PEIM




PEI Foundation


协助


PEIM


彼此沟通


. PEI Fou ndation



maintain


一 个包含了


PEIM


注册接口



database.


这些


interface


称为


PEIM-to-PEIM Interface (PPI).















PEI Dispatcher



single phase


组成


. PEI Foundation

< p>
会检查每个包含了


PEIM



file




firmware volume.


它会检查每个


firmware file


里的


dependency expression (depex)



决定是否一个


PE IM


可以被执行


.














3.3.2 Pre-EFI Initialization Modules (PEIMs)


















PEIM


是一些可执行的二进制码


,


封装了


processor,


chipset,


device



platform- specific


功能


. PEIM


提供了


interface,


其他


PE IM


或者


PEI Foundation


可通过


interface



PEI M


或者


H/W


沟通以得知其

< p>
PEIM


概要


. PEIM


各自独立的


built


成二进制模块


,


不压缩


的放在


ROM



.


出于


perform ance


考虑


,


有一小部分


PEIM


存在并运行于


RAM

< br>里


.


这些


PEIM

< p>
是以压缩方式放在


ROM


里的

.









3.3.3 PEI Services














PEI Foundation


会建立一张


PEI Service T able


以供所有系统


PEIM


访问< /p>


.


由于在


build


time



,PEI


Foundation



location



temporary


RAM


是未知的


,


所以一个


PEI


Service < /p>


Table



Pointer

< p>
会传给每个


PEIM



e ntry point


和部分的


PPI. PEI Foundation


提供了一下几



service:














PPI Services:


管理


P PI


以让


PEIM


之间的内部模块调用 更容易


. Interface


装载和


后续使用都在


temporary RAM


< br>database



.














Boot Mode Services:


管理系统的


boot mode (S3, S5,


普通


boot,


诊断模式等


)














HOB


Services:


创建称为


Hand-Off


Bloc ks(HOBs)


的数据结构


,


被用来传递信息


给下一个


phase.














Firmware V


olume Services:


根据


firmware volume


中的


FFS


来寻找


PEIM

< p>
和其他


flash device


中的


firmware file.














PEI


Memory


Services:



memory


还没建立以前为


memory


management


service


收集信息


.














Status


Code


Services:


Common


progress


and


error


code


reporting


services,



:


Port80




serial port


简单的


tex t


输出以供


debug.














Reset Services:


提供一个

< br>restart


系统的通用方式


.










3.3.4 PEIM-to-PEIM Interfaces (PPIs)














PEIM


通过


PEIM-to- PEIM Interfaces (PPIs)


调用其他


PEIM. Interface



Globally


Unique Identifiers (GUIDs)


来命名


,


以避免独立开发的模块与已定义的接口冲突


. GUID


是一



128bit


的值


,


用来区分


boot serv ice


环境中的


service



structure.



PPI


被定义成包含了功能和数据的一个


structure. PEIM


必须在


PEI Foundation


中注册他们的


PPI.


一个


PEIM


想要使用一个特殊的

PPI


就可以像


PEI


Foun dation


询问以找到它需要的


Interface. PPI


有两种类型


: Services, Notifications



PPI



service


能够让一个


PEI M


提供功能和数据给另一个


PEIM


使 用


. PPI notifications


允许

< p>
PEIM


收回注册


,


当 另一个


PPI



PEI Foundation


中注册时


.










3.3.5 Simple Heap


-


-


-


-


-


-


-


-



本文更新与2021-02-13 12:02,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/650042.html

BIOS工作的几个阶段--bios phase的相关文章