UEFI Boot Flow 系列之 DXE Phase

DXE: Driver Execution Environment

为什么要有DXE Phase?

大部分系统的初始化工作都是在DXE 阶段实现的。

DXE Phase由以下几部分组成:

1. DXE Core (DXE Foundation)

     产生一组Boot Services, Runtime Services, DXE Services。 由boot service code组成,boot到OS之后就不存在了。

2. DXE Dispatcher

    负责发现并以正确的顺序执行DXE Drivers。

3. DXE Drivers

    负责初始化CPU,Chipset,系统组件以及为Sysem Services、控制台和启动设备提供系统概要。

这几部分协同工作以完成platform的初始化,并提供启动到操作系统所要求的services.

DXE Phase与PEI Phase的关系:

可以执行DXE Phase的唯一的条件是:有一个有效的HOB List。 有很多种方式产生HOB List, PEI只是其中一种。所以DXE Phase之前并不要求一定先执行PEI Phase。

DXE Phase与BDS Phase的关系

DXE Phase与BDS Phase协同工作以建立工作台并尝试boot OS。当OS成功启动,即BDS Phase开始的时候,DXE Phase就结束了。

DXE Driver 的分类:

1. Early DXE Driver--Platform initialization Drivers

       a. 在DXE Phase最早执行的Driver

       b. 包含Dependency Expression Syntax(DEPEX) 来描述Dispatch的顺序。

       c. 典型的包含:

              Basic Services

              Processor Initialization Code

              Chipset Initialization Code

              Platform Initialization Code

       d. 产生Architectural Protocols

2. EFI Drivers that follow EFI Driver Model

        a. 初始化的过程中不会涉及到硬件

        b. Follow EFI Driver Model

        c. 典型的提供对Console Devices 和 Boot Devices的访问

        d. Abstract Bus Controller

        e. 只有Boot OS 所需要的Driver才被初始化

        f. DXE Dispather完成的时候才被呼叫

        g. 像个Driver一样被执行

        h. 需要建立控制台(Keyboard,Video)和处理EFI Boot Option(Boots OS)的时候要连接EFI Drivers

               

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值