UEFI Framework - 1 [ EFI Architecture Overview ]

2023-12-07 23:19

本文主要是介绍UEFI Framework - 1 [ EFI Architecture Overview ],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章转自:http://william30101.blogspot.hk/2012/04/uefi-framework.html

這是Intel 設計出來的一個完整的EFI BIOS 示意圖,其中綠色的部份是Framework
1.      Hardware 這指得就是 Platform or Motherboard
2.      Framework,這是一個大的 “H ”型結構,像是一個大容器,兩端都能裝東西進去,上端裝Interface負責與OScommunicate  ,下端裝Protocol負責與Hardwarecommunicate。而兩端進行溝通的Bridge就是Framework設計出來的兩個Basic Module:DXE Foundation and PEI Foundation。而之所以有兩個,因為在BIOS開機的過程中包含PEI Phase and DXE Phase,而這兩個Phase各自包含了一個DISPATCHER,用來分派Module。Framework還包括了 Framework Driver,它包含了一些Interface(只有Interface沒有實作)。
3.      Platform Drivers,這是和硬體平台相關的Driver,也是Interface的實作。
4.      EFI Drivers,這指得是一個符合 EFI Driver Modle (規範)的Driver,為了兼容性,而了有些規範。
5.      Compatibility Support Module (CSM),為了相容現有的Assembly的Driver而有這個部份。
6.      EFI,往上黃色薄薄的一層,這本身代表的就是Interface,可以看出它在整張圖只佔了很少的一個部份,僅提供了OSAnd Framework之間的Interface。大部份的工作都是在Framework中完成。
7.      OS,最上面灰色的部份,圖中有分為兩種,一種是Support EFI 的OS,另一種是傳統的(Windows XP/98 等等),後者在Boot過程中需要CSM的Support,用INT19H 中斷,所以放在CSM的上方,而支持EFI的OS是不需要CSMSupport的,它的Boot 方式是 EFI 所規定的
//--------------------------------------------------
// EFI Framework 的概念與C語言對應的示意圖
//--------------------------------------------------
#include <--Intel提供的函數
main() <--Intel 提供的Boot Flow
{
Dispatch FunA(); <--SEC
Dispatch FunB(); <--PEI
Dispatch FunC(); <--DXE
Dispatch FunD(); <--BDS
...
}

这篇关于UEFI Framework - 1 [ EFI Architecture Overview ]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/467685

相关文章

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO

PC/MCU/SoC使用的计算机架构(Architecture)

1. 冯·诺依曼结构 冯·诺依曼结构(Von Neumann Architecture)是计算机系统的经典架构,由数学家约翰·冯·诺依曼在1945年提出。它的核心思想是程序存储器和数据存储器共享同一存储设备,程序和数据以相同的方式存储和访问。冯·诺依曼架构的主要特点包括: 单一存储器:存储程序指令和数据在同一个存储器中。控制单元:通过程序计数器顺序执行指令。数据路径:通过一个共享的总线,将数据

win10 gpt分区+uefi引导 卸载双系统ubuntu

1、首先暴力卸载ubuntu 在win10里面磁盘管理中找到对应的linux磁盘分区 删除卷OK 2、重启 出现下面(根据机型不同界面可能不一样 ) 3、exit 退出grub引导 进入uefi引导  选择win10引导项 (当然你要是一直按着进入bios boot的那个按键的话 也不用看第二步了 直接选择windows启动项进去 dell的话是F12) 4、进入

UEFI——Shell下读取SMBIOS信息

一、SMBIOS简介 SMBIOS的全称为System Management BIOS,它不是一个BIOS,只是与BIOS相关。它是一个规范,定义了BIOS传递给操作系统的系统管理信息。它也表示了一系列的数据结构,包含了各类信息,由BIOS启动过程中创建并放在特定的内存,之后操作系统可以拿来用。 整个 SMBIOS_STRUCTURE 结构体定义了 SMBIOS 表中的一个基本单元。每个 SM

安卓aosp14上自由窗口划线边框Freeform Caption实战开发-千里马framework实战

背景: 上一篇文章也分享过aosp14版本上自由窗口的Caption栏的显示原理,今天来讲解一下aosp14版本上如何实现对自由窗口的划线边框功能,相关功能已经在aosp13上面进行实现,具体可以看我的分屏自由窗口专题哈。 就是想要在aosp14上面实现如下功能: 即自由窗口在被触摸放大缩小时候,边框要被画成红色的线条,表示选中。 尝试aosp13老方案: 因为aosp13是在acti

Android Framework中的PolicyManager简介

PolicyManager类位于framework\base\core\java\com\android\internal\policy目录中的PolicyManager.java文件中。PolicyManager主要用于创建Window类、LayoutInflater类和WindowManagerPolicy类,它扮演着简单工厂模式中的工厂类角色,而抽象产品角色由IPolicy接口实现,具体产

【UEFI基础】SMBIOS基础和使用

SMBIOS的定义 SMBIOS的全称是System Management BIOS,关于它的理解包括: 它不是一个BIOS,之所以出现了BIOS字样,是因为它跟BIOS有关,仅此而已。它是一个规范,定义了BIOS传递给操作系统的系统管理信息,具体有哪些信息,可以参考SMBIOS规范。它也可以表示一系列的数据结构,包含了各类信息,由BIOS启动过程中创建并放到特定的内存,之后操作系统可以拿来用

UEFI BIOS之SMBIOS

SMBIO spec: SMBIOS Specification (dmtf.org) https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.5.0.pdf SMBIOS SMBIOS(System Management BIOS)是一种标准化的系统信息数据结构,旨在提供有关计算机硬件配置、系统功能