当前位置: 首页 > news >正文

UEFI PI PEI(3. PEI Foundation/PEI Dispatcher)

PEI Foundation

1、PEI Foundation简介

PEI Foundation是一个独立的二进制镜像,文件类型为EFI_FV_FILETYPE_PEI_CORE。该二进制image由以下部分组成:
(1)认证部分
(2)可能是PE32+格式的代码镜像部分

如果组成PEI基础的代码不是PE32+镜像,那么它是一个原始二进制文件,其最低地址是PEI Foundation的入口点。

PEI基础由安全(SEC)阶段发现并认证。

  • 有关SectionFile Type的详细信息,参阅《Platform Initialization Specification》第3卷。

2、PEI Foundation 和 PEI Dispatcher

PEI Foundation围绕PEI Dispatcher展开。

PEI Dispatcher的主要任务有:
1.按照有序的方式,将控制权交给PEIMs(Pre-EFI Initialization Modules)
2.协助PEIM之间通信。

PEIM之间通信的核心资源PPI(PEIM到PEIM接口)。PPI的引用可以通过安装接口或通知接口来管理。

3、PEI执行的先决条件

PEI阶段从合乎PI架构,并且合规启动过程的SEC阶段接手控制。
PEI阶段在开始执行之前必须满足以下最低先决条件:

(1)处理器执行模式
(2)访问包含PEI Foundation的固件卷

3.1 处理器执行模式 (IA-32)

在IA-32英特尔架构中,PI架构的安全(SEC)阶段负责将处理器置于原生线性地址模式,通过该模式可以访问处理器的完整地址范围,用于代码、数据和堆栈。

例如,“平坦32”是IA-32处理器执行PEI阶段的模式。处理器必须处于其最特权的“ring 0”模式,或等效模式,并能够访问所有内存和I/O空间。

此先决条件严格依赖于处理器架构

3.2 访问引导固件卷FV 和 其它启动关键固件卷FV

获得SEC阶段交接控制的程序称为PEI Foundation

通常情况下,PEIMs并不固定存放在某一类FV中。PEIMs可能驻留在引导固件卷(BFV)或其他FVs中。
但是有一个“特殊”PEIM必须驻留在引导固件卷BFV中,以提供有关其他FVs位置的信息。

每个在BFV和其他关键FVs(如PEI Foundation所在位置)中所需的启动文件,都必须能够被PEI阶段发现并验证。
只有这样,PEI阶段才能确定这些FVs是否已损坏。

PEI Foundation和一些PEIMs将被存储在某种相对防篡改的非易失性存储(NVS)中。
这种存储预计与带有唯一ID的Flat文件系统相当。NVS特定的规则可能会影响某些存储考虑,但需要一个标准的数据机制,通过ID定位PEIMs。

PI架构描述了PI固件卷格式和PI固件文件系统格式,以及使用GUID命名文件的约定。
这些标准对PEI而言是架构性的,因为PEI阶段需要直接支持这种文件系统。
BFV只能是EFI_FIRMWARE_FILE_SYSTEM2_GUID类型。

PEI Foundation以及一些用于恢复的PEIMs,必须被锁定在不可更新的FV中,或者必须能够通过“Fault Tolerant”机制进行更新。
Fault Tolerant机制的设计是这样的:即使系统在任何时间点停止,旧的(更新前)PEIM或新更新的PEIM也完全有效。
并且PEI阶段可以确定哪一个是有效的。

4. PEI Foundation Entry Point

5.PEI Dispatcher

PEI Dispatcher的任务是按照有序的方式将控制权交给PEIMs。

PEI Dispatcher包含一个单独的阶段。在此阶段,PEI Foundation将检查两类固件卷的文件:
EFI_FV_FILETYPE_PEIMEFI_FV_FILETYPE_COMBINED_PEIM_DRIVER类型文件
(有关文件类型定义,请参阅《Platform Initialization Specification》第3卷)。

PEI Dispatcher将检查依赖表达式(depex)和每个固件文件中的可选先验文件,以确定PEIM何时有资格被调度。
depex的二进制编码与PEIM的depex相同。

相关文章:

  • 蓝桥与力扣刷题(108 将有序数组转换成二叉搜索树)
  • 解锁豆瓣高清海报(三)从深度爬虫到URL构造,实现极速下载
  • 网站地址栏怎么变成HTTPS开头?
  • windows平台上 oracle简单操作手册
  • 【SQL server】存储过程模板
  • List对象进行排序
  • 如何提升谷歌SEO排名?
  • Springboot RabbitMQ 消费失败消息清洗与重试机制
  • 超越DeepSeek R1的Moe开源大模型 Qwen2.5-max 和 Qwen Chat Web UI 的发布,阿里搅动AI生态
  • langchain实现的内部问答系统及本地化替代方案
  • Linux相关概念和易错知识点(27)(认识线程、页表与进程地址空间、线程资源划分)
  • Flask与Jinja2模板引擎:打造动态Web应用
  • 什么是平面环形无影光源
  • Netty源码解析之异步处理(二):盛赞Promise中的集合设计
  • 【云平台监控】Prometheus 监控平台部署与应用
  • 2025年SEO工具有哪些?老品牌SEO工具有哪些
  • uniapp PDF 预览和下载
  • 1.14学习总结
  • BFS 走迷宫
  • 蓝桥杯之并查集
  • 网站域名解析失败/广州seo技术外包公司
  • 公司备案 网站主办者名称/大连网站搜索排名
  • 山东政府网站建设特色/腾讯体育nba
  • 优质的营销网站建设/免费刷粉网站推广
  • 六感程序网站建设/优化大师下载
  • 做网站用java还是php/网络营销策划书封面