《Cstyle的UEFI导读》系列专题博客

本系列博客旨在总结UEFI驱动开发的相关知识和技术要点,包括UEFI驱动的私有数据结构、配置、诊断等,同时深入探讨了PCI、USB、ATA等设备驱动栈的实现细节。适合希望深入了解UEFI驱动开发的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       无意中在BIOSREN发了一篇关于UEFI驱动开发的帖子,发现关注的人还不算少,由此看来大家对UEFI及UEFI驱动还都比较感兴趣,估计BIOSREN都有过被各种杂乱毫无章法的E文spc折磨的经历,小弟虽不是什么高手大牛却也算是读过几篇乱七八糟的文档,虽说多数是看过就忘记的,但总还算是有点心得。

        故此,计划从今以后陆续(暂定为每周最少一篇),把自己读的各种文档和经验做一个总结,暂时取名叫做《Cstyle的UEFI导读》的系列博客,慢慢的记录和总结下自己的UEFI的认识和理解。希望能让这个“导读”能慢慢的丰满起来,为后来者提供一份参考的手册,也是对自己的一种总结和考验。

         错误在所难免,但是会尽量保证准确,如果有发现有错误或者不妥的地方欢迎留言或者发Email提出来,小弟尽量改进,完善,更新。最后,此博客内容,多数是来着各种公开文档和自己的心得体会,随算不上什么高深学问,也没有什么NDA,但是也是小弟一词一句敲上去的,希望能尊重作者的劳动成果,转载请注明出处,同时也欢迎转载,下面是已完成的部分,附上下载

全部PDF档下载链接点击这里,解压密码:cstyle0x007

 

列表,持续更新:

Cstyle的UEFI导读之Driver中的私有数据结构

Cstyle的UEFI导读之Drivr binding

Cstyle的UEFI导读之UEFI Driver and Controller Name用Component Name Protocol实现

Cstyle的UEFI导读之UEFI Driver Configuration

Cstyle的UEFI导读之Driver Diagnostics

Cstyle的UEFI导读之Override Protocol

Cstyle的UEFI导读之PCI Driver Stack

Cstyle的UEFI导读之USB Driver Stack

Cstyle的UEFI导读之ATA Driver Stack

Cstyle的UEFI导读之Mass Storage Driver Stack

Cstyle的UEFI导读之Load File Driver Protocol

Cstyle的UEFI导读之Text Console Driver Stack

Cstyle的UEFI导读之Graphics Driver Stack

Cstyle的UEFI导读之User Credential Driver Stack

Cstyle的UEFI导读之DXE---Event && Timer (上篇:实战篇)

Cstyle的UEFI导读之PEI --- Notify && Callback

Cstyle的UEFI导读之SEC --- Reset Vector(上篇)

Cstyle的UEFI导读之SEC --- Reset Vector(下篇)

Cstyle的UEFI导读之Event && Timer (下篇:原理篇)

Cstyle的UEFI导读之Embedded Controller简介(上篇)

Cstyle的UEFI导读:第18.0篇 NVRAM的工作原理(上)

Cstyle的UEFI导读:第19.0篇 SMM在UEFI当中的实现

Cstyle的UEFI导读:第20.0篇 IGD OpRegion interface && IGD OpRegion PROTOCOL

Cstyle的UEFI导读:第21.0篇 UEFI的N种实现及差别

 

 

 

Email:Cstyle.z.zhou@outlook.com

BlogURL:http://blog.youkuaiyun.com/CStyle_0x007

 

       




目录 序 2 第1章:ACPI规范简介 3 第2章:名词术语(Term) 4 第3章:Hello World 5 第4章:方法(Method) 6 第5章:对象(Object) 7 第6章:对象类型及命名 8 第7章:特殊对象与类型 10 第8章:类型转换及规则 11 第9章:常用ASL算子(operator)简介 14 第10章:ACPI表 15 第11章:ACPI硬件 16 第12章:ACPI操作系统 17 第13章:Low Power S0 Idle简介 18 第14章:ACPI/ASL调试简介 19 目录 序 2 第1章:ACPI规范简介 3 第2章:名词术语(Term) 4 第3章:Hello World 5 第4章:方法(Method) 6 第5章:对象(Object) 7 第6章:对象类型及命名 8 第7章:特殊对象与类型 10 第8章:类型转换及规则 11 第9章:常用ASL算子(operator)简介 14 第10章:ACPI表 15 第11章:ACPI硬件 16 第12章:ACPI操作系统 17 第13章:Low Power S0 Idle简介 18 第14章:ACPI/ASL调试简介 19 第1章:ACPI规范简介 ACPI(Advanced Configuration and Power Interface)是由intel及微软等企业在1990年左右提出的PC电源管理接口规范。其目标是把操作系统和系统固件(UEFI/BIOS)隔离开来,使操作系统和硬件(固件)厂商可以在共同标准下相互解耦独立发展。ACPI最新的版本是6.4,下文内容都是基于6.4的版本进行说明。 ACPI规范包含了ACPI硬件、ACPI软件、ACPI表、设备管理、电源管理、热管理等内容。其中ASL(ACPI Source Language)语言是默认用来编写ACPI代码的“声明式编程语言”,AML(ACPI Machine Language)是ASL源码被编译器编译后被AML解释器解释执行的字节码。AML是所有ACPI兼容的操作系统必须支持的,但是ASL是非必须的,只要是能最终被转换成AML的其他的任何语言都可以用来编写ACPI代码。 ASL用来定义ACPI对象(object)和ACPI控制方法(Method),ASL支持预定义的内置算子和宏供程序(一般是BIOS工程师编写)或OS调用,如:数学运算、逻辑运算等。 ACPI规范定义了大量的与硬件和OS相关的内容,整个文档洋洋洒洒有数千页之多,阅读起来甚是难以理解。本文试图以BIOS工程师的视角来对其进行简单的梳理,参照一般的编程语言如“C语言“类似的讲解逻辑从“Hello World”开始,介绍如何使用ACPI/ASL编写自己的程序,如何编译、运行、调试代码。以及ACPI表、ACPI硬件、ACPI操作系统、系统睡眠唤醒流程等。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值