alpha_truly
驱动牛犊
驱动牛犊
  • 注册日期2008-02-15
  • 最后登录2010-05-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1630回复:2

[求助]关于PCI配置空间基址的问题

楼主#
更多 发布于:2009-04-07 17:25
这几天在看PCI标准,发现一个问题,基址寄存器,如何知道读出来的基址是I/O空间映射还是内存空间映射的?

是否能改变映射方式...
houhou1997
驱动牛犊
驱动牛犊
  • 注册日期2009-04-11
  • 最后登录2009-04-14
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-04-11 00:09
pci的空间映射是io空间还是memory空间是相对主桥而言,pci设备本身不在乎是哪种空间映射。pci设备本身只关注总线上地址周期中包括的地址是否落在自己的译码空间以内(这个译码空间是主桥初始化pci总线时配置到pci设备的基址寄存器里的)


pci设备一旦在总线上连接好后,它的pci header空间就已经固定了,根据cpu的编程手册可以确定这个header的唯一地址,再通过对header中的基址寄存器配置(有个写全‘1’再读回的过程可以让主桥知道这个设备到底需要多大的空间),配置进去的地址是io空间还是mem空间完全是对cpu而言。
alpha_truly
驱动牛犊
驱动牛犊
  • 注册日期2008-02-15
  • 最后登录2010-05-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-04-12 03:55
谢谢!
看英文档的时候,就是那些个语法弄得晕头转向的.........
游客

返回顶部