BIOS之Option ROM详解

1. 何为Option ROM

PCI Option ROM又叫PCI Expansion ROM。 它是用于设备初始化和系统boot的code。有的PCI Option ROM被存放在板卡上,而有的则保存在BIOS的binary里面。

2. PCI Option ROM的分类

Option ROM按版本分有2.1的Option ROM和3.0的Option ROM.

> 通过查看PCI data structure的0x12处可以得到revision level信息。

按 class type分有Legacy Option ROM 和 EFI Option ROM.

       > 查看PCI data structure的 class type可以得到相关信息。

3. PCI Option ROM 镜像和头信息


如上图所示,PCI Option ROM由image header, PCI data structure和Image 三个部分组成。

首先,在Option ROM的头两个字节是magic number: "0x55“,“0xAA"。由此可以验证是否是合法的option rom.

其次,在0x18-0x19这个位置可以获取到PCI Data structure pointer, 这其实是一个地址,由这个地址,我们可以得到PCI Data structure所存放的位置。

最后,通过解析PCI Data structure,我们可以获得ROM的version, class type, size等等信息。

4. PCI Option ROM之Shadow RAM

PCI 2.1 Option ROM:

 

Shadow RAM的位置为C0000 ~ FFFFF。由于1MB以上的高地址处一般用于放BIOS,所以Option ROM Shadow的位置一般为C0000 ~ E0000。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值