主要用于读PCI中扩展ROM数据。
回复(8) 2004-09-01 20:44 来自版块 - 内核编程
表情
flying建议你去看一下PCI规范里有关“配置寄存器”的内容! tiamo 说得对,你只需要: 1, 在PCI 配置寄存器对应的BARx(x=0~5)中填入你的ROM的空间大小,也就是在系统启动完成后OS将会分配给你对应于该ROM的映射RAM或IO空间的大小(具体设置方法PCI规范中有...(2004-09-07 13:49)
magicx如果各位能得到“os软件会写入这个地址空间的开始地址”这个地址,或有比较通用的算法“占用”一段内存空间也可。 UP。(2004-09-02 10:00)
magicx问题好象还没有解决。 to tiamo: 关键是很多机子上在WIN OS 启动好后就会将扩展ROM地址都清零了。 “看来只有I/O访问了。”--也不行,因为硬件上BUG只能是ROM中读。 问题:“如何》新《申请一块 PCI总线相关地址空间,谢谢!” (2004-09-02 09:23)
arthurtu呵呵,就是,那还映射什么呀,大头鬼头大了 :D只许IO映射不许mem映射? :D(2004-09-02 09:22)
tiamo当然不对了..... 如果读是到ram的话 那还映射来干虾米呀........ pci设备必须要进行全地址解码的呀 你向pci bridge报告你有多大的rom bridge会为你保留足够的地址空间 os软件会写入这个地址空间的开始地址跟长度..... ...(2004-09-02 04:32)
wowocock看来只有I/O访问了。(2004-09-01 23:03)
magicx谢谢,回复。 这种方式也想过,但是觉得不太可行。 ROM映射到RAM,这样读这个地址时,地址应该会到RAM,而不是送到PCI设备上。也就是读的是RAM中的数据,而不是PCI设备上的数据。不知是否对? (2004-09-01 22:32)
arthurtu为何不把ROM映射到RAM?(2004-09-01 21:46)

返回顶部