UEFI之DXE阶段

12 篇文章 6 订阅 ¥59.90 ¥99.00
DXE阶段在UEFI中负责大部分系统初始化,包括DXE内核和派遣器的工作。DXE内核提供基础服务,而派遣器调度驱动初始化设备。主函数DxeMain()涉及内存服务初始化、EFI服务设置、协议注册以及调度驱动执行。完成驱动加载后,系统进入BDS阶段。
摘要由CSDN通过智能技术生成

一、DXE阶段介绍

DXE(Driver Execution Environment)阶段执行大部分系统初始化工作,进入此阶段时,内存已经可以被完全使用,因而此阶段可以进行大量的复杂工作。
DXE可以分为以下两部分:

  1. DXE内核:负责DXE基础服务和执行流程
  2. DXE派遣器:负责调度执行DXE驱动,初始化系统设备。

二、DXE阶段主函数流程

DXE阶段的源码位于MdeModulePkg/Core/Dxe/DxeMain/目录中。从DxeMain.inf文件中我们可以找到该阶段使用所有源码、依赖库、protocols和PCD的列表。
DXE Core的主函数DxeMain()执行过程如下:

  • 把HOB列表的指针转换为union格式,便于使用。
  • 初始化内存服务。
  • 根据EFI System Table和EFI Runtime Service Table这两张表中的内容初始化EFI相关服务。
  • AMI代码在此处对AmiLib进行了初始化,从而保证能够运行AmiDxeLib模块中的函数。
  • 根据HOB列表的内容对其他系统服务进行初cmd始化,如映像服务,事件服务等。
  • 获取所有的protocol,注册其GUID。protocol是一种特殊的结构体,用于驱动之间的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大 大猫

感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值