syj2008
驱动牛犊
驱动牛犊
  • 注册日期2008-04-28
  • 最后登录2012-07-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望74点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:3948回复:8

pci设备 扩展rom代码 运行问题

楼主#
更多 发布于:2010-07-16 23:36
根据pci 规范,扩展rom的代码将会被bios拷贝到系统内存中,然后执行。规范中没有提到rom代码执行是
否有限制条件。

将代码按照扩展rom规范写进8139网卡的扩展rom中,如果在bios中设置启动顺序为为:boot from lan那

么rom中的代码会被执行,如果按照正常的启动顺序(硬盘启动),那么rom代码没有被执行,请问这是为

什么?那么其他pci设备的扩展rom代码的执行也是需要某种环境才会被执行的吗?请前辈指点下。
syj2008
驱动牛犊
驱动牛犊
  • 注册日期2008-04-28
  • 最后登录2012-07-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望74点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-07-18 16:12
回 1楼(dadaodan) 的帖子
感谢dadaodan,pci的spec里面的option rom部分已经看过了,但是我是想让这个pci rom代码在任何情况下都能够被执行,不知道有没有办法?
syj2008
驱动牛犊
驱动牛犊
  • 注册日期2008-04-28
  • 最后登录2012-07-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望74点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-07-20 09:54
回 3楼(dadaodan) 的帖子
关于ISA模块插入BIOS中,确实像您说的那样,但是现在想针对带有扩展ROM的PCI设备来做一些研究,把代码写进rom芯片中,这个代码应该只能是PCI模块形式的吧?难道针对某种pci设备的代码,必须要进行某种设置,才能让这个pci代码被bios执行吗?还请dadaodan指点。
syj2008
驱动牛犊
驱动牛犊
  • 注册日期2008-04-28
  • 最后登录2012-07-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望74点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-07-20 23:56
回 5楼(dadaodan) 的帖子
“我想你要研究的就是在一个pci设备上添加一个芯片,然后执行里面的代码。如果是这样的话我感觉和是否是PCI option rom应该没太大关系。而且据我所知,一些pci卡上的rom芯片里也是isa模块。”
正如您说的,我就是要做这个事情,并且想让代码每次都被bios执行,做一些工作。

如果pci卡上的rom芯片是isa模块的话,那么这样这个模块岂不是和设备没有关系了(isa模块中没有vendor id 和device id),那么pci rom中的isa模块是不是能每次被bios加载执行呢?

很感谢您的回复,我想还是做一个实验,在pci rom中写一个isa模块,看能不能被执行。

还有就是貌似romos中的pci模块可以在正常启动顺序下,也会被bios引导执行
游客

返回顶部