阅读:3948回复:8
pci设备 扩展rom代码 运行问题
根据pci 规范,扩展rom的代码将会被bios拷贝到系统内存中,然后执行。规范中没有提到rom代码执行是
否有限制条件。 将代码按照扩展rom规范写进8139网卡的扩展rom中,如果在bios中设置启动顺序为为:boot from lan那 么rom中的代码会被执行,如果按照正常的启动顺序(硬盘启动),那么rom代码没有被执行,请问这是为 什么?那么其他pci设备的扩展rom代码的执行也是需要某种环境才会被执行的吗?请前辈指点下。 |
|
沙发#
发布于:2010-07-18 16:12
回 1楼(dadaodan) 的帖子
感谢dadaodan,pci的spec里面的option rom部分已经看过了,但是我是想让这个pci rom代码在任何情况下都能够被执行,不知道有没有办法? |
|
板凳#
发布于:2010-07-20 09:54
回 3楼(dadaodan) 的帖子
关于ISA模块插入BIOS中,确实像您说的那样,但是现在想针对带有扩展ROM的PCI设备来做一些研究,把代码写进rom芯片中,这个代码应该只能是PCI模块形式的吧?难道针对某种pci设备的代码,必须要进行某种设置,才能让这个pci代码被bios执行吗?还请dadaodan指点。 |
|
地板#
发布于: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引导执行 |
|