
我的BIOS之行
文章平均质量分 87
主要介绍uefi,bios相关知识,与acpi等等
AlexKing阁下
一个脑洞开发工程师
展开
-
我的BIOS之行(10)-传值修改setup中的值
前言今天我的module算是大功告成,基本上已经能够将该有的功能都写完整了,如果你是跟这我做了一边,那么恭喜你,基本上你已经在uefi上基本算是入门了,可以自己写个module什么的来练练手什么的。效果如下图 功能实现介绍上一文,我们讲到了还需要实现通过pcie读取相关device的device id并将值回填给setup的item。 首先你得知道一点,我们是通过prot...原创 2018-03-15 23:18:40 · 6019 阅读 · 5 评论 -
我的BIOS之行(9)-protocol的使用与创建
protocol简介从语言上来看,protocol包含了属性和函数指针的结构体,从功能上看,protocoll是提供者与使用者对服务方式的一种约定。其实我们不难看出UEFI中的Protocol引入了面向对象的思想。每一个protocol都必须要有一个唯一的GUID。如我的github上面的code一样,在github上我每章都有对应的提交,你可以通过我的提交看到我所完成的内容。如下就是我所...原创 2018-03-14 12:40:52 · 4941 阅读 · 5 评论 -
我的BIOS之行(8)-事件的使用
前言UEFI已经不再支持中断了,所有的异步操作都是要通过事件来完成的,所以我在这一章节会教如何使用事件来完成一个非常简单的事件处理。上一章节我们说到了hob,那么继续在这个上面来完善我们的code,需要做的是,在dex阶段通过event事件来驱动读取hob。简介一个来说事件会提供用于操作事件、定时器以及TPL(任务优先级)UEFI事件服务 * CreateEvent(生...原创 2018-03-13 09:37:28 · 2922 阅读 · 0 评论 -
我的BIOS之行(7)-hob的使用
HOB(hand off block)简介有些时候,我们需要将一些information从PEI阶段传递到DXE阶段,那么这个时候我们就需要hob当做桥梁来给我们进行传递了。总的来说,PEI生产HOB,DXE消费HOB,在这里需要注意HOB只有在PEI阶段是可修改的,在DXE阶段是只读的,每一个Block都有自己的GUID与Struct运作模式当PEI阶段的module需要传递...原创 2018-03-08 21:51:13 · 9744 阅读 · 2 评论 -
我的BIOS之行(6)-setup中建立选项
前言目前我在使用的是AMI的visualeBIOS做开发,主要做笔记本的BIOS研发工作,前期一直在学习中,BSP的工作放在了一边,今天主要是向大家介绍如何在最新的UEFI2.0中加入相关setup选项新建一个module作为老司机,应该自己建立一个module来解释,那么你可以自己在veb文件中添加一个module,当然也可以直接用IDE自带的进行新建,components(右击)-...原创 2018-03-06 14:58:05 · 15076 阅读 · 14 评论 -
我的BIOS之行(5)-UEFI的世界观
UEFI的世界观如果有人对BIOS有兴趣,那么不得不提UEFI了。当然笔者这边只是代码与说明的搬运工,通过UEFI组织的官方文档来带大家了解UEFI。当然您要是觉得笔者就是个DB,想直接翻UEFI的文档,不想看笔者的瞎逼文章的话,请直接点击这里,自行下载看就是了。UEFI的简介文章开头就开始介绍了UEFI的由来~~~,感觉风中在凌乱~并在构成介绍中说明第一章是 Introduces the UE原创 2017-08-16 00:41:42 · 3144 阅读 · 1 评论 -
我的BIOS之行(4)-Keyboard Controller 简介
Keyboard Controller 简介主板的键盘有一块专用的接口芯片,一般是采用一块单片微处理器8042(现在大多已集成在南桥或SIO里)。它控制整个键盘的工作,包括加电自检、键盘扫描码的缓冲以及与主板的通讯。 INT 09H是H/W中断,对应IRQ1,INT 16H是一个S/W中断。当键盘的一个键被按下时,键盘接口芯片根据被按下的位置,INT 09H负责把键值转换成INT16H认识的值,原创 2015-10-09 15:53:56 · 7219 阅读 · 1 评论 -
我的BIOS之行(3)-遍历pci设备(2)mmio访问
前言今天其实我在公司也没有做什么,但是昨天就把pcie遍历的mmio形式做了出来,赞扬公司的台湾服务器,至少我可以使用google来去搜索我想要的资料和答案,有一位大神在台湾的论坛上发布了一片博文,针对dos环境下的mmio的方法,在国内通过百度等等方法是无法访问到的,当然最让人失望的是,如果我不开代理,直接输入网址也是无法进入的,可能有很多人觉得你遍历pcie干吗?嘿嘿,那就是告诉你如何通过代码去原创 2015-08-09 01:43:20 · 10358 阅读 · 3 评论 -
我的BIOS之行(3)-遍历pci设备(1)io访问
pci原创 2015-07-19 23:46:59 · 8377 阅读 · 1 评论 -
我的BIOS之行(2)-Aptio BIOS Overview
Aptio BIOS Overview这里说的是一个BIOS的工具,但这个工具我也没有办法说清楚,只是有各种不一样的说明,在此我便不加以赘述。可以看一下编译环境的图片module对于一个BIOS的module,它具体有什么构成的?在这里,我将做一个介绍,告诉大家具体的情况。一个module有VEB: 管理ComponentCIF : Component Information FormatSD原创 2015-10-09 11:07:00 · 12888 阅读 · 0 评论 -
我的BIOS之行(1)-CPU Introduction & Multi-Processor
前言想对自己在本月所学的东西做一个总结,因而产生了写本系列博客的冲动,由于工作较为繁忙,不能及时更新,敬请原谅CPU Introduction & Multi-Processor本节博客将简单介绍CPU的情况。1、CPU简介CPU – The Central Processor Unit is the hardware within a computer system which carries o原创 2015-10-20 08:57:47 · 3333 阅读 · 0 评论 -
我的BIOS之行【番外】-dos操作系统
操作系统的功能从资源管理的角度来讲,操作系统的功能有处理器管理、存储器管理、文件管理、设备管理和作业管理等五个方面。 ⒈处理器管理处理器管理主要负责处理中断事件和处理器的调度。也就是管理CPU,使其准确高效、有条不紊地工作,这也是操作系统最重要的任务 ⒉存储器管理存储器管理就是根据用户程序的要求,分配主存储器,同时又要保护用户放在内存中的程序或数据不被破坏。 ⒊文件管理文件管理是指对文件的存储、检索原创 2015-10-09 11:10:10 · 1672 阅读 · 0 评论