明明白白HOB hand-off Block
EFI 将启动顺序分成了很多阶段,PEI 和DXE 之间的跨度比较大,PEI 阶段是在RAM-limited 环境运行的,但DXE 阶段是在相对充足的内存空间上运行的。
在内存初始化之前,或者初始化内存的时候,PEI 收集了很多数据供后续的DXE 用,也就是说,有些数据需要从PEI 阶段传到DXE.
由于PEI 的运行受到内存的限制,所以需要一种稳定的机制去传输数据,即, 我们今天要说的HOB(Han Off Blocks).
所有的Hob放在一段连续的内存里面,由一个以定义好的头去标识,这个头(header) 叫 Phase Handoff Information Table(PHIT). 我们把PHIT 和当前所有的hob 合在一起叫Hob list.
PHIT的位置由GetHobList 这个系统服务区获得。
它的函数实现在hob.c :
如果我们想往hob list 里面追加一个HOB 那么是通过CreateHob 完成的。它的函数实现也是在hob.c 里面
85-88: 获取HOB 列表的起始地址
98: 调整HOB 的长度为8字节对齐。
100-101:计算当前可用的HOB数据块的空间。
110-113: 将hob 加到hob 列表最末端。
116: 将结束类型的hob 加到hob list 末尾用以表示HOB 列表结束。
118-112: 更新末端Hob节点的相关信息。
明明白白HOB hand-off Block相关推荐
- UEFI中PEI阶段Hob的描述
转自: http://blog.csdn.net/cassienj/article/details/46892141 HOB:Hand-off Block 在PEI的执行过程中,PEI Phase提供 ...
- (转)UEFI系统的启动过程
UEFI系统的启动过程(1) UEFI系统的启动遵循UEFI平台初始化(PlatformInitialization)标准.UEFI系统从加电到关机可分为7个阶段: SEC(安全验证)→PEI(EFI ...
- UEFI原理与编程实践--UEFI系统的启动过程
看图粗略说一下: SEC: 安全验证阶段,这个阶段,需要用Assembly做一些 C 无法处理的工作,C语言无法处理CPU的特殊寄存器.让CPU进入Protected Mode(Flat Mode)的 ...
- UEFI之PEI阶段
文章目录 一.PEI 简介 二.相关名词解释 三.PEI 流程 3.1 PEI执行顺序 3.2 PeiMain.inf 3.3 函数PeiCore() 四.PEIM 4.1 PEIM简介 4.2 PE ...
- UEFI原理与编程(一)
第一章 UEFI概述(Unified Extensible Firmware Interface 统一的可扩展固件接口) 常见缩写及描述: 缩略词 全名 描述 UEFI Unified Extensi ...
- UEFI BIOS —— PEI阶段分析
PEI(Pre-EFI Initialization) -预先EFI初始化)阶段 一.PEI 主要功能 PEI阶段资源依然十分有限,内存到了PEI后期才被初始化.其主要功能是为DXE准备执行环境,将需 ...
- UEFI系统的启动过程
UEFI系统的启动遵循UEFI平台初始化(PlatformInitialization)标准.UEFI系统从加电到关机可分为7个阶段: SEC(安全验证)→PEI(EFI前期初始化)→DXE(驱动执行 ...
- HCIE-Cloud笔试
前言: 目录按照HCIE-Cloud官方培训教材V2.0进行制定,通过笔试考点挂钩HCIE-Cloud官方培训教材V2.0中的知识,相互强化记忆 1.优点:基本笔试的知识分类,是按照该教材的目录大纲分 ...
- Python : IndentationError: expected an indented block
如下图 运行包报错: IndentationError: expected an indented block 处理方法是 问题原因 1冒号后面要跟要写一些内容的, 2 其他位置,或多或少空格的位置不 ...
最新文章
- 面向对象设计原则_聊聊面向对象的6大设计原则
- celery 停止任务_celery异步任务框架
- 用python画烟花-用python做一个烟花show
- UI复习练习_优酷布局
- android sqlite 示例,android SQLite数据库使用示例
- 怎样才能有德国煤矿那样严密的安全网?
- C++:数字逆向输出
- 易语言数据类型与c 对照,易语言利用自定义数据类型和数组. 制作键对值操作类/内存配置...
- SpringBoot的MyBatis generator 注解方式和xml方式 (四)
- 《Linux编程》上机作业 ·002【Linux常用工具GCC、GDB、Make】
- java rbac 开源_java web快速开源开发框架RoubSite-admin
- Spark 学习笔记01
- 数模美赛论文Word模版_精装版(页码+目录+标题+修改须知)
- 遗传算法解决TSP问题
- 联想服务器win7系统安装教程,一键安装联想win7系统步骤指南
- LMS自适应波束形成算法(MATLAB)
- 100个最热门的国人开发开源软件
- 470万条12306用户信息遭泄露
- 第4章 点云的滤波与分类 4.1点云数据的过滤
- strcat、strcpy、strcmp三种函数用法
热门文章
- Android仿美团选择城市
- 杀软测评:2010年第四次“VB100”认证揭开谜底!
- 13种老人不适合带孩子_老人带小孩要注意的13种不恰当行为必须纠正!
- 计算机模拟育种,计算机模拟技术在动物遗传育种研究中应用.ppt
- WIN10 1903的更新失败的问题
- unitoy机器人怎么联网_unitoy智能机器人配网
- rimworld简单机器人mod_rimworld智能机器人MOD
- 广东省一本计算机学校排名,南方科技大学排名2021 广东排名第16全国排名第276...
- sofa启动的默认加载参数
- html语言br怎么用,HTML br 标签如何使用