![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
BIOS
文章平均质量分 87
一只小菜鸟-BIOS
BIOS 工程师
展开
-
EDKII Boot Order Boot Option 介绍
Boot 启动项中有个Boot Order的 Variable 打印一看 发现只存在几组 数据 0000 0001。Boot Menu是一个动态更新的,在Vfr中预留了Label Question id 0x1212。Boot界面显示有多个启动项,这些启动项都是存在Nvram中 我们在Vaiabled中查找启动项。启动信息存在Boot####中 通过Boot Order 确定启动的顺序。LOG 中Dump 了 Boot#### 以及Boot Order。改变Boot option的Order。原创 2024-07-26 17:15:26 · 782 阅读 · 0 评论 -
UEFI DebugLib 介绍
有多个Lib 对DebugPrintEnabled 做了定义,因此可以使用不同的Lib 让Debug()产生不同的效果,这点也适用于其他函数。UefiDebugLibConOut.inf 这个Lib就是开始我们提到的将debug信息打印到Shell 使用的Lib。当我们调试程序时,可以在可能有问题的地方插入一条 INT 3 指令,使 CPU 执行到这一点时停下来。当条件为假时,断言会触发错误处理机制,通常会导致程序中。对于不同的架构实现方式可能不同,但是可以用同样的模块代码,通过替换Lib去替换实现函数。原创 2024-07-25 17:09:16 · 665 阅读 · 0 评论 -
Linux服务器搭建http服务,添加DNS域名解析
文档根目录: /var/www/html ,这个是apache 首页的文档目录 ,即输入http://127.0.0.1 显示页面所在的目录。命令执行文件:/usr/sbin/apachectl ,/usr/sbin/httpd,/usr/bin/htpasswd。主配置文件:/etc/httpd/conf/httd.conf ,这个是httpd最主要的配置文档。扩展配置文件:/etc/httpd/conf.d/*.conf ,这个是httpd的额外配置文档。域名解析服务通过将域名解析为。原创 2024-05-30 10:46:15 · 1219 阅读 · 0 评论 -
PCIe Capability and Extended Capability
1. **PCIe Capability:** PCIe Capability 是指 PCIe 设备的基本能力,包括设备的类型、速度、链接状态、电源管理、错误处理等。在 PCIe 设备的配置空间中,PCIe Capability 和 Extended Capability 结构是以特定的格式和偏移地址存储的,操作系统和驱动程序可以通过读取这些结构来获取设备的基本能力和扩展功能,从而进行适当的配置和管理。PCI配置Header(64B,00h~3Ch)具有固定的格式,主要有两种:Type0和Type1。原创 2024-06-03 15:07:51 · 573 阅读 · 0 评论 -
BIOS 初始化之SEC
一般会在,reset vector(地址 0xFFFFFFF0)放置一条跳转指令(ResetVec.nasmb),跳转 到 SecCore 入口,其地址为 PlatformSecLib 的 SecEntry.nasm 汇编_ModuleEntryPoint 宏定义处, SecCore 完成基本的初始化之后会调用 PeiCoreEntry.nasm 内的 CallPeiCoreEntryPoint()函数,跳转到 PeiCore。第二个NOP是占位符,为了让随后的JMP可以16位地址对齐,这样性能高一些。原创 2024-06-12 10:32:02 · 808 阅读 · 0 评论 -
RAS--APEI 报错解析流程(1)
1.注册SMI ApuRasDispatch gFchSmmApuRasDispatchProtocolGuid,当PCIE产生错误,CPU的寄存器会存在错误状态,IOHCRAS会有错误的信息,同时会产生SMI的中断,BIOS会读取错误信息同时去扫描PCIE 的配置空间AER Capbility的错误状态填写到APEI HEST GHES type9中对应的PCIE错误结构体,同时汇报ipmi 错误到BMC和清除错NBIO Global Status误状态,AER 错误可以OS 清除。原创 2024-07-24 16:34:02 · 1015 阅读 · 0 评论 -
RAS--APEI 报错解析流程(2)
这就对应到Dmesg 中的HardWare error 错误,就可以识别到错误的source id ,既可以大致定位错误信息来源 Source id = 512 对应到PCIE 错误。使用BERT 的header 通过section type 区分错误类型 对应到不同的错误结构 都是通过block error status addrss 链接。对于OS去打印HardWare error 只需要参考GHES 中的Error Block status 就会去打印 错误的GHES Table中的错误信息。原创 2024-07-24 19:07:25 · 832 阅读 · 0 评论 -
CPU模式与寄存器介绍
保护模式:保护模式提供了内存保护机制,通过分段和分页机制,可以将内存划分为不同的段和页面,并为每个段和页面设置访问权限。当CPU支持20根以上地址线时,可以访问到0x100000到0x10FFEF的地址,但是需要打开A20地址线支持,否则访问到的是0x0000-0xFFEF的内存地址。保护模式:在保护模式下,内存访问是基于虚拟地址的,程序使用段选择子和偏移地址的组合来访问内存。保护模式:保护模式支持32位和64位的寻址空间,可以访问更大的内存容量,充分利用现代计算机的性能和资源。原创 2024-02-06 17:01:22 · 702 阅读 · 0 评论 -
CXL技术
CXL.memory:这种模式可以将外部设备作为主内存使用,从而实现更大的内存容量。CXL.cache模式允许CPU在本地缓存中保留最常用的数据,而将不常用的数据保存在外部设备中。用于网卡这类高速缓存设备。Type 3:一种专用的存储设备,与主机处理器直接通信,并且可以使用 CXL 协议来实现低延迟、高吞吐量的数据传输。通过PCIe总线连接CPU和外部设备,这样CPU就可以与外部设备共享内存,并且可以直接访问外部设备的I/O资源。CXL.io:这种模式可以将内存扩展到外部设备,使得数据的传输速度更快。原创 2024-02-06 15:42:14 · 247 阅读 · 0 评论 -
BIOS RTC唤醒原理之COMS寄存器
如果RTC唤醒事件的状态和使能位是在Fixed Hardware中实现的,则OSPM可以在不加载整个操作系统的情况下判断该RTC是否是唤醒事件的源。S4唤醒是可选的,通过FADT中的RTC_S4标志(如果设置,则平台在S4状态下支持RTC唤醒)*来支持。FADT中的CENTURY字段 将包含一个非零值,该值表示RTC的CMOS RAM区域的偏移量,该区域包含该日期的Centenary值。FADT中的DAY_ALRM字段将包含一个非零值,该值表示RTC的CMOS RAM区域的偏移量,该区域包含日告警值。原创 2024-02-06 10:13:21 · 2405 阅读 · 0 评论