
UEFI bios
文章平均质量分 85
萨摩耶饭团
致力于写 是个人都能看懂的教程。
展开
-
【UEFI系列】SEC阶段讲解
众所周知,UEFI bios分为四个阶段:SEC、PEI、DXE、BDS,运行完毕才能进到setup界面或是进入操作系统。x86平台较为经典,而ARM在UEFI之前需要运行ATF(Arm Trusted Firmware),ATF做了SEC和PEI的部分工作,且ARM部分平台不需要PEI。这篇文章着重介绍UEFI bios的SEC阶段。提示:以下皆基于x86 UEFI bios。原创 2025-06-06 16:19:01 · 509 阅读 · 0 评论 -
【PCI】PCI入门介绍(包含部分PCIe讲解)
PCI全称外围部件互连。PCI总线是由ISA(Industy Standard Architecture)总线发展而来的,ISA总线由于CPU资源占用太高,数据传输带宽太小,作为插槽接口已经被淘汰。1992年Intel提出PCI总线,用来连接CPU和外围设备的局部总线,解决了CPU和外围设备尤其是显卡的数据瓶颈(在此之前MCA设备也挺慢,就比ISA好一点)。PCI规范已经到7.0了,详情可以去官网上看。原创 2025-05-31 17:45:45 · 1263 阅读 · 1 评论 -
【Tips】关于PCI和PCIe的配置空间差异和io/memory io读写
PCI设备的话,用IO方式读写没问题,但是对于PCIe设备的扩展空间部分,Register就明显不足了(我们以前写register写的是XX H,因为PCI设备的配置空间最多到FF H)。和IO读写写入的值(注意这里IO输入的80开头的只是一个格式,并不是实际地址,MMIO输入的F开头的才是实际内存地址)的区别大概就是前四位由1000变为1111,bus device function集体左移4位,function之后的12位写register(IO里function后面只剩8位)。原创 2025-05-29 19:56:16 · 370 阅读 · 0 评论 -
【Tips】关于PCI的IO Port读取为什么写入0CF8的32位里最后2bit规定是0
举例:想读取Bus:2 Device:1 Function:1 Register 06(0000 0110)的2字节信息,向IO端口0CF8写8002 0904 H(最后1字节为0000 0100),IO端口0CFC读取到的是0280 0007H,分析得到Register06的2字节信息为:0280 H。就不能设置偏移量为02H,从Vendor ID后面获取Device ID和Command ID这4字节,这是不被允许的,要不然从00H开始读写4字节,要不然从04H开始读写4字节。原创 2025-05-29 17:41:30 · 308 阅读 · 0 评论 -
【UEFI】关于Secure Boot
个人学习总结,仅供参考。确保在BIOS阶段时load的image是安全的。关于这里的image定义:1.设备的UEFI驱动;2.OS的loader如:Linux 、Windows…等等;3.可以正常BOOT的image,比较常用到的是shell.efi安全启动是一种计算机系统的安全功能,旨在确保系统启动过程中只能加载经过数字签名的受信任的OS和启动加载程序。通过使用Secure Boot,系统可以防止恶意软件在启动过程中植入并运行,提高系统的安全性。网上的资料比较少,有待补全。原创 2025-03-24 18:51:31 · 1506 阅读 · 0 评论