<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhao_longwei的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhao_longwei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhao_longwei]]></copyright><item><title><![CDATA[BIOS工程师手边事--GPT]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/78584665</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/78584665</guid><author>zhao_longwei</author><pubDate>Mon, 20 Nov 2017 19:20:02 +0800</pubDate><description><![CDATA[当我们使用EFI模式安装win8，win10的时候，windows安装程序总是先显示一个窗口，让我们选择把OS安装在哪里。在这个界面，我们选择完安装介质的时候，有时候发现并不能顺利点击下一步进行安装。为何？因为这时候，硬盘格式并不满足GPT的要求。我们需要根据windows安装程序的提示，进行新建分区操作。当我们新建一个分区后，发现居然还有其它分区生成。不要生气，埋怨windows安装程序设计不合]]></description><category></category></item><item><title><![CDATA[Efi Ext驱动支持]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/52069259</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/52069259</guid><author>zhao_longwei</author><pubDate>Fri, 29 Jul 2016 22:57:02 +0800</pubDate><description><![CDATA[1 EFI文件系统现状
    无论是EDK还是最新的EDKII，都只支持FAT，并没有对LINUX系统原生态文件系统EXT进行支持。我刚写了EXT驱动没多长时间，趁着没有忘记，就把整个过程写下来，俗话说的好，好记性不如赖笔头。
 
2 EXT文件系统结构
   我们来看一张图：



上面的图为一个磁盘分区的结构。
最起始的部分是BootBlock，固定占有1024字节，只是磁]]></description><category></category></item><item><title><![CDATA[EFI基本概念之UDK2015定制EDKTOOL]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51714943</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51714943</guid><author>zhao_longwei</author><pubDate>Sun, 19 Jun 2016 23:45:58 +0800</pubDate><description><![CDATA[1 EDKTool作用
    EDKTool是EDK代码的编译所需要的工具。由这指定编译器及编译选项，编译平台，编译active平台及编译DEBUG或Release版本。
    EDKTool对X86及ARM的支持比较好，但对其它平台的支持不怎么好。鉴于EDK的包容性，即使没有对其它平台的支持，我们也要方便地构建其平台对应的工具。
 
2 EDKTool编译
BUILD SPEC上把]]></description><category></category></item><item><title><![CDATA[琐事MARK]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51638502</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51638502</guid><author>zhao_longwei</author><pubDate>Sat, 11 Jun 2016 22:58:05 +0800</pubDate><description><![CDATA[手术一个多月了，终于原地满血复活。作为一个技术流的货色，总结一下看病的经验：千万不要到私人医院。即使图方便到私人医院，也要不预交押金太多，医生不会因为你钱交的多用不完而把钱退给你，别问我是怎么知道的，说多了都是泪。出院了，我还拎了几十斤的药，都完全好了，医院还有我六次复诊的单没用。更可怜的是，私人医院的主治医生技术不过关，我动完手术后，遇到查房的高手查出问题,又被捅了二次。不过还是要感谢一下医院，]]></description><category></category></item><item><title><![CDATA[EC修炼之道—SMBUS]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51638471</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51638471</guid><author>zhao_longwei</author><pubDate>Sat, 11 Jun 2016 22:36:12 +0800</pubDate><description><![CDATA[SMBUS在EC firmware中占有重要的地位，我们先来看一下它的应用：（1）电池模块需要它来通信，如SmartBattery IC以及ChargeIC。（2）平台各个温度获取，通过与温度传感器，SMBUSLINK1，或显卡芯片的SMUBS相连，来读取其温度值。（3）CPU及内存调压，使用SMBUS接口的调压芯片，控制它的电压，使其得到更好的performance。（4）监测平板的方向，重力传]]></description><category></category></item><item><title><![CDATA[Bios工程师手边事—重启]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51234832</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51234832</guid><author>zhao_longwei</author><pubDate>Sun, 24 Apr 2016 18:18:19 +0800</pubDate><description><![CDATA[情景1：玩游戏久了，内存使用率噌噌地往上涨，太卡了。于上按下WINDOWS左下角开始菜单，点“重新启动”按钮，过一会重新进入OS，不卡了。
情景2：使用电脑时，经常遇到机器无法正常工作。不得已，只得按下电脑机箱的RESET按键。电脑重新进入OS后，我们又可以愉快地玩它了。
这些都是重启，我们经常使用，但并一定了解里面的细节。本章内容就总结一下相关重启知识(PS:不敢称RESET，因为RESET]]></description><category></category></item><item><title><![CDATA[EC修炼之道—按键的做法]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51175957</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51175957</guid><author>zhao_longwei</author><pubDate>Sun, 17 Apr 2016 22:11:10 +0800</pubDate><description><![CDATA[在EC的各项功能中，按键的作用非常重要。机器上的PowerSwitch按键，亮度加减按键，声音加减按键，WIFI&Bluetooth开关等，都有可能用到按键功能。
         按键的做法有两种：一是使用中断的方式；二是使用轮循GPIO的电平状态来做按键功能。这篇文章的重点在于介绍轮循的方式，因为第一种方式让我吃了不少苦头，现在我都一般不会采用它。
 
1 中断方式
         ]]></description><category></category></item><item><title><![CDATA[EC修炼之道—Thermal]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51052912</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51052912</guid><author>zhao_longwei</author><pubDate>Mon, 04 Apr 2016 00:23:17 +0800</pubDate><description><![CDATA[重启，蓝屏，关机，休眠，一系列灾难性的错误均有可能是温度过高引起。即使是行业的领头羊，也经常性地栽倒在这个问题上。虽说这个问题应该是Thermal工程师应该考虑的问题，但作为可以控制风扇和可以通知HOST端的EC工程师来说，也应该了解Thermal的一些细节，以期能够快速准确的想出解问题的思路。
 
1 CPU温度
想要控制风扇，首先要知道当前温度。一般来说，板子上当属CPU温度最高，但是也]]></description><category></category></item><item><title><![CDATA[EC修炼之道—ECSCI]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51052894</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51052894</guid><author>zhao_longwei</author><pubDate>Mon, 04 Apr 2016 00:18:32 +0800</pubDate><description><![CDATA[ECSCI是EC上的一个请求系统中断的PIN。电池信息的上报，温度上报，LID状态上报，亮度调节请求以及切屏等功能都需要此中断来通知操作系统执行。既然是中断，就必须有中断号，ECSCI和其它一些DEVICE共用一个SCI中断号，由BIOS来指定，并通过ACPI报给操作系统。
 
1 SCI中断
在了解ECSCI之前，我们先了解一下整个SCI中断的知识。要不然，会造成一叶障目，不见泰山。]]></description><category></category></item><item><title><![CDATA[EC修炼之道—代码架构]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51010544</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51010544</guid><author>zhao_longwei</author><pubDate>Wed, 30 Mar 2016 00:06:54 +0800</pubDate><description><![CDATA[EC就是笔记本电脑上的一个嵌入式控制器。作为一个主板软件开发人员，一般说EC，就是EC固件程序。
         想要做好EC，首先要懂代码架构。这个东西说简单就简单，说困难也困难，要有人帮忙点破，然后一切都会OK。我刚到现在的这家公司，一个同事说，他做EC，经常会有很多奇奇怪怪的问题反复出现。后来，我才了解，他没有在专业主板团队做EC的经验，又得不到EC厂商的技术支持，所以对EC代码架构不了]]></description><category></category></item><item><title><![CDATA[Bios工程师手边事—PCI资源分配]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/51001780</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/51001780</guid><author>zhao_longwei</author><pubDate>Mon, 28 Mar 2016 22:15:01 +0800</pubDate><description><![CDATA[一说到资源，大家马上想到“利用”两个字。是的，没有利用价值的资源不是真正的资源。大到整个社会，小到个人，都在利用资源实现自己的想法。PCI设备也不例外，想让PCI设备工作，PCI设备驱动一定要有资源可以利用，但是这个资源从何而来？下面就来介绍一下EFI下最为重要的一个驱动：PCIBUS驱动。
    在此注明一下，IRQ也是PCI资源重要的一种。但是其并不是PCIBUS驱动所设，之前我也有写过一]]></description><category></category></item><item><title><![CDATA[吕小敏Legend]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50831205</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50831205</guid><author>zhao_longwei</author><pubDate>Tue, 08 Mar 2016 22:58:27 +0800</pubDate><description><![CDATA[中国的基督徒都知道一本圣经诗歌叫《迦南诗选》，但对于作者可能并不了解，我也是最近几天才知道作者的概况。作者叫吕小敏，在基督的带领下，正在书写着自己传奇的一生。
    她生在中国大陆河南乡下。当她两岁时，家里穷，差点把她送人。她连初一都未读完就得去“全职”种地了，当然她从来没受过音乐训练。十几年前，当她十九岁那年，一个晚上，她心中响起一首美丽的歌，于是连词带曲唱了出来，把她哥哥吓了一跳，因为他知]]></description><category></category></item><item><title><![CDATA[EFI基本概念之Event]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50816081</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50816081</guid><author>zhao_longwei</author><pubDate>Sun, 06 Mar 2016 23:04:24 +0800</pubDate><description><![CDATA[1 基本概念及函数
    最近在帮公司弄一个ALPHA架构的EFI BIOS，在调DXE_CORE的时候，发现必须要装几个CPU架构相关的协议。如果这几个协议不去安装，代码就不会执行BDS阶段。代码侦测协议有没有安装，是通过CoreRegisterProtocolNotify()函数实现的，这个函数在未安装协议之前，便先建立PROTOCOL_ENTRY变量，然后将其链接到mProtocolDa]]></description><category></category></item><item><title><![CDATA[EFI基本概念之Timer]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50752940</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50752940</guid><author>zhao_longwei</author><pubDate>Fri, 26 Feb 2016 23:02:23 +0800</pubDate><description><![CDATA[1 基本概念及用法
    在LegacyBIOS中，设备采用中断方式来和CPU交互。但现在已过渡到了EFI时代，中断方式已成往事随风飘。那设备如何和CPU交换信息呢？ EFI使用了查询的方式。不同的设备，查询也有快慢之分，所以EFI保留了Timer中断。利用Timer中断，CPU可以在规定的时间点，去查询设备有没有数据要传输。
    在Intel平台中，Timer使用的是8254和Time]]></description><category></category></item><item><title><![CDATA[EFI基本概念之FV]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50668262</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50668262</guid><author>zhao_longwei</author><pubDate>Mon, 15 Feb 2016 14:38:12 +0800</pubDate><description><![CDATA[1 基本概念及用法
    FD：固件设备，指任何可以存储固件的设备或设备的集合，它存储代码和数据。
    FV：固件卷，指在FD上一个连续的部分，我们可以把它看成一个逻辑设备，因为我们代码真正操作的是FV，而非FD。我们经常提到的FFS的概念也是以FV的形式存在，它描述了FV中的文件组织方式。FV之于FD，类似于thread之于package。
    FF：固件文件，指在FV中组织代码]]></description><category></category></item><item><title><![CDATA[EFI基本概念之HOB]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50618576</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50618576</guid><author>zhao_longwei</author><pubDate>Mon, 01 Feb 2016 14:44:24 +0800</pubDate><description><![CDATA[1 基本概念及用法
    HOB是Hand-offblock的缩写。是PEI阶段向DXE传递系统信息的手段。PEI阶段构建一些HOB结构，然后将其作为参数传给DXE阶段函数，DXE Core会根据其使用平台相关资源。
    HOB是系列的连续的内存结构体，可以认为其由三部分构成：第一部分，是PHIT头，它描述了HOB的起始地址以及总的内存使用；第二部分是各个Hob列表，DXE阶段会根据这一]]></description><category></category></item><item><title><![CDATA[EFI基本概念之PPI]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50615385</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50615385</guid><author>zhao_longwei</author><pubDate>Sun, 31 Jan 2016 17:37:04 +0800</pubDate><description><![CDATA[1 基本概念及用法
PPI是一个PEIM和另一个PEIM沟通的桥梁，它通过PPI描述符来描述其特性。PPI描述符是一个数据结构。
 
这个数据结构定义如下：
typedef struct {
  UINTN    Flags;
  EFI_GUID *Guid;
  VOID     *Ppi;
}EFI_PEI_PPI_DESCRIPTOR;
    Flags描述了PPI的特]]></description><category></category></item><item><title><![CDATA[UEFI小结-Handle的来龙去脉]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50494428</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50494428</guid><author>zhao_longwei</author><pubDate>Sun, 10 Jan 2016 22:58:15 +0800</pubDate><description><![CDATA[转自：BIOSREN网站 

作者：HurmonyHu
引言：感谢作者为我带来了一篇好文章，我初读此文时，便被作者折服。我一直以为，作为BIOS工程师，调试能力是安身立命之本，架构能力只要学习便可获取，而CODE能力决定了职业瓶颈。很显然，HurmonyHu就是一位CODE能力出众的工程师，无关乎经验无关乎学历，这是一种天生的本能。


本文说明：本人刚学习UEFI不久，写该文一是为了]]></description><category></category></item><item><title><![CDATA[BIOS工程师手边事—中断]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50494388</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50494388</guid><author>zhao_longwei</author><pubDate>Sun, 10 Jan 2016 22:49:07 +0800</pubDate><description><![CDATA[如果你以前没接触过中断，也许你会认为中断是一件特容易的事。但一旦你接触中断，并且想弄明白前因后果时，你就会改变观点，并且大发感慨：这是什么鬼东西？
是的，X86的中断就是这么麻烦。在操作系统下，一个中断从产生到中断服务程序的确定要经历N个步骤。首先，你要知道中断源。有了中断源，就要确定中断号。有了中断号，还要对应一个中断向量。有了中断向量，还需要注册中断服务程序和设定这个中断的优先等级。现在的架]]></description><category></category></item><item><title><![CDATA[Bios工程师手边事—SATA]]></title><link>https://blog.youkuaiyun.com/zhao_longwei/article/details/50454779</link><guid>https://blog.youkuaiyun.com/zhao_longwei/article/details/50454779</guid><author>zhao_longwei</author><pubDate>Mon, 04 Jan 2016 11:05:52 +0800</pubDate><description><![CDATA[前言：诫命是是灯，法则是光，训诲的责备是生命的道。


作为计算机，除了运算能力，还要求有存储能力。就像一个人一样，有逻辑思维能力还不行，还需要有上佳的记忆能力。只有这样，才能凭着人生丰富的阅历，对未来的事情做出聪颖的判断。

SATA就是为计算机存储所做的一个接口。INTEL SATA控制器一般可以支持三种操作模式：IDE，AHCI，RAID。
对于RAID操作模式，BIOS代码中有]]></description><category></category></item></channel></rss>