olddos
驱动牛犊
驱动牛犊
  • 注册日期2005-01-02
  • 最后登录2005-01-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1471回复:0

PCI设备的遍历

楼主#
更多 发布于:2005-01-03 12:30
看了本站的一篇资料,是遍历PCI设备,颇为受益,只是文中的ReadPCIDeviceDescriptor函数却不知如何实现,哪位高手知道吗?请赐教:
[quote]遍历PCI总线确定IDE控制器端口号
























Abstract
PCI设备的遍历
如何确定IDE控制器的起始端口号

1 Background
过去我们编码过程中,在确定IDE控制器的端口号时,都是直接使用0x1F0―0x1F7(主IDE控制器)或0x170―0x177(副IDE控制器)。对于不使用这些端口的机器(比如Goalia),就会出现初始化失败的情况,原因是无法访问硬盘。

其实这个0x1F0―0x1F7由来于ISA总线系统,并不能适应纯PCI设备的要求。 纯PCI设备希望可以不使用固定的IO端口,即要求系统对它进行动态配置, 这个时候它所占用的端口就不一定是0x1F0―0x1F7了。为解决这个问题, 我们需要遍历一下PCI总线, 从PCI bus配置空间中找到我们要访问的设备,然后再从设备的配置信息中得到IDE控制器使用哪些端口。

2 Mainbody
2.1 配置空间简介。

最新喜欢:

mao0504mao050...
游客

返回顶部