EFI基础
文章平均质量分 77
黑泥白石亮积水
松湖烟雨,朦胧了南国的夏季
展开
-
UEFI小结-Handle的来龙去脉
转自:BIOSREN网站 作者:HurmonyHu引言:感谢作者为我带来了一篇好文章,我初读此文时,便被作者折服。我一直以为,作为BIOS工程师,调试能力是安身立命之本,架构能力只要学习便可获取,而CODE能力决定了职业瓶颈。很显然,HurmonyHu就是一位CODE能力出众的工程师,无关乎经验无关乎学历,这是一种天生的本能。本文说明:本人刚学习UEFI不久,写该文一是为了转载 2016-01-10 22:58:15 · 5205 阅读 · 3 评论 -
EFI基本概念之PPI
1 基本概念及用法PPI是一个PEIM和另一个PEIM沟通的桥梁,它通过PPI描述符来描述其特性。PPI描述符是一个数据结构。 这个数据结构定义如下:typedef struct { UINTN Flags; EFI_GUID *Guid; VOID *Ppi;}EFI_PEI_PPI_DESCRIPTOR; Flags描述了PPI的特原创 2016-01-31 17:37:04 · 7449 阅读 · 1 评论 -
EFI基本概念之HOB
1 基本概念及用法 HOB是Hand-offblock的缩写。是PEI阶段向DXE传递系统信息的手段。PEI阶段构建一些HOB结构,然后将其作为参数传给DXE阶段函数,DXE Core会根据其使用平台相关资源。 HOB是系列的连续的内存结构体,可以认为其由三部分构成:第一部分,是PHIT头,它描述了HOB的起始地址以及总的内存使用;第二部分是各个Hob列表,DXE阶段会根据这一原创 2016-02-01 14:44:24 · 8778 阅读 · 5 评论 -
EFI基本概念之FV
1 基本概念及用法 FD:固件设备,指任何可以存储固件的设备或设备的集合,它存储代码和数据。 FV:固件卷,指在FD上一个连续的部分,我们可以把它看成一个逻辑设备,因为我们代码真正操作的是FV,而非FD。我们经常提到的FFS的概念也是以FV的形式存在,它描述了FV中的文件组织方式。FV之于FD,类似于thread之于package。 FF:固件文件,指在FV中组织代码原创 2016-02-15 14:38:12 · 8032 阅读 · 0 评论 -
EFI基本概念之Event
1 基本概念及函数 最近在帮公司弄一个ALPHA架构的EFI BIOS,在调DXE_CORE的时候,发现必须要装几个CPU架构相关的协议。如果这几个协议不去安装,代码就不会执行BDS阶段。代码侦测协议有没有安装,是通过CoreRegisterProtocolNotify()函数实现的,这个函数在未安装协议之前,便先建立PROTOCOL_ENTRY变量,然后将其链接到mProtocolDa原创 2016-03-06 23:04:24 · 4806 阅读 · 0 评论 -
EFI基本概念之Timer
1 基本概念及用法 在LegacyBIOS中,设备采用中断方式来和CPU交互。但现在已过渡到了EFI时代,中断方式已成往事随风飘。那设备如何和CPU交换信息呢? EFI使用了查询的方式。不同的设备,查询也有快慢之分,所以EFI保留了Timer中断。利用Timer中断,CPU可以在规定的时间点,去查询设备有没有数据要传输。 在Intel平台中,Timer使用的是8254和Time原创 2016-02-26 23:02:23 · 1891 阅读 · 0 评论 -
EFI基本概念之UDK2015定制EDKTOOL
1 EDKTool作用 EDKTool是EDK代码的编译所需要的工具。由这指定编译器及编译选项,编译平台,编译active平台及编译DEBUG或Release版本。 EDKTool对X86及ARM的支持比较好,但对其它平台的支持不怎么好。鉴于EDK的包容性,即使没有对其它平台的支持,我们也要方便地构建其平台对应的工具。 2 EDKTool编译BUILD SPEC上把原创 2016-06-19 23:45:58 · 2950 阅读 · 0 评论 -
Efi Ext驱动支持
1 EFI文件系统现状 无论是EDK还是最新的EDKII,都只支持FAT,并没有对LINUX系统原生态文件系统EXT进行支持。我刚写了EXT驱动没多长时间,趁着没有忘记,就把整个过程写下来,俗话说的好,好记性不如赖笔头。 2 EXT文件系统结构 我们来看一张图:上面的图为一个磁盘分区的结构。最起始的部分是BootBlock,固定占有1024字节,只是磁原创 2016-07-29 22:57:02 · 1980 阅读 · 1 评论 -
BIOS工程师手边事--GPT
当我们使用EFI模式安装win8,win10的时候,windows安装程序总是先显示一个窗口,让我们选择把OS安装在哪里。在这个界面,我们选择完安装介质的时候,有时候发现并不能顺利点击下一步进行安装。为何?因为这时候,硬盘格式并不满足GPT的要求。我们需要根据windows安装程序的提示,进行新建分区操作。当我们新建一个分区后,发现居然还有其它分区生成。不要生气,埋怨windows安装程序设计不合原创 2017-11-20 19:20:02 · 1696 阅读 · 3 评论