UEFI Boot Flow 系列之 BDS Phase

原创 2012年03月30日 11:35:46

BDS: Boot Device Select

 BDS阶段的任务:

1. Initialize console devices base on the ConIn, ConOut and StdErr environment variables.

2. Attempt to load all drivers listed in the Driver#### and DriverOrder environment variables.

3. Attempt to boot from the boot selections list  in the Boot#### and BootOrder environment variables.

如果BDS 阶段不能contact a console device, load a driver, or boot a boot selection, 这就要求重新调用DXE Dispatcher。 这种调用是必须的,因为通过执行这个操作可能会发现additional firmware volumes, 它们可能包含管理Console Devices和Driver Devices所必须的DXE Driver。

一旦新发现的Firmware Volume上的DXE Drivers被Dispatched之后,控制权会再次交到BDS手中 。

Console Device:

Console Device是从Simple Text Output和Simple Input Protocol中抽象出来的。 在UEFI中,能够产生这其中一种或两种Protocl的Devide都被当作是Console Device。

Console Device的几种Type:

1. VGA Adapters, produce Simple Text Output Protocol.

2. Video Adapters, produce Simple Text Output Protocol.

3.Serial Terminal, produce both Simple Text Output Protocol and Simple Input Protocol.

4.Telnet, produce both Simple Text Output Protocol and Simple Input Protocol.

5. Remote Graphical Displays(HTTP), produce both Simple Text Output Protocol and Simple Input Protocol.

Boot Device的几种Type:

1.Devices that produce the Block I/O Protocol and are formatted with a FAT file system,  Disk Devices
2.Devices that directly produce the File System Protocol
3.Devices that directly produce the Load File Protocol                                                              Network Devices

相关文章推荐

Section1:UEFI概述

UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)定义了操作系统和固件平台之间的接口,即一种标准。UEFI实现一般可分为两部分:1)平台初始化;...

UEFI Console Splitter 2nd

为了巩固对 Console Splitter 这只driver 认知上的巩固,这么篇文章我们会写一个虚拟的简单的输入设备。...
  • Pedroa
  • Pedroa
  • 2015年11月10日 22:55
  • 853

UEFI Console Splitter

UEFI Console Splitter
  • Pedroa
  • Pedroa
  • 2015年11月08日 12:25
  • 1111

UEFI Driver编写

最近有想在
  • daofuuq
  • daofuuq
  • 2014年09月27日 09:56
  • 326

【我所認知的BIOS】—>SMbus

【我所認知的BIOS】—>SMbusBy LightSeed2009-7-18  1、什么是 SMBUS?SMBus 是 System Management Bus 的缩写,是1995年由Intel提...

UEFI Boot Flow 系列之 PEI Phase

PEI:Pre-EFI Initialization 为什么要有PEI Phase? 1. ROM空间的问题,所有的Code都没有压缩 2. Memory还没有初始化 3. Chipset没有...

UEFI Boot Flow 系列之 SEC Phase

为什么要有SEC Phase? 1. 需要用汇编语言来完成C无法处理的工作,如C语言无法处理CPU的特殊寄存器(MSR,MTRR,CRX)。 2. C语言需要Memory当成Stack来处理Loc...

UEFI Boot Flow系列

  • 2017年11月01日 02:56
  • 383KB
  • 下载

UEFI Boot Flow系列之 概述

有图有真相: 1. SEC Phase (Security) 开机之后,系统开始执行第一条指令,此时就已经进入了SEC阶段。这时的Memory还没有被初始化,还不可用,所以这一阶段最主要的工作...

UEFI Boot Flow 系列之SEC

转自CeliaQianhj   为什么要有SEC Phase? 1. 需要用汇编语言来完成C无法处理的工作,如C语言无法处理CPU的特殊寄存器(MSR,MTRR,CRX)。 2. C语言需要M...
  • LifeIce
  • LifeIce
  • 2012年09月15日 09:04
  • 578
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UEFI Boot Flow 系列之 BDS Phase
举报原因:
原因补充:

(最多只允许输入30个字)