Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

PCI/PCI Express架构

帖子发起人: nanjingesc   发起时间: 2010-06-09 11:02 上午   回复: 1

Print Search
帖子排序:    
   2010-06-09, 11:02 上午
nanjingesc 离线,最后访问时间: 2011/1/6 11:26:17 nanjingesc

发帖数前150位
注册: 2010-02-24
发 贴: 8
PCI总线和设备的枚举以及配置
Reply Quote

张老师您好!

         最近在看linux 2.4 kernel的PCI总线方面的东西(参考书籍:linux 内核源代码情景分析,毛德操),对PCI总线和设备的枚举以及配置过程有些不是很理解,枚举我可以看懂,但是在配置的时候就不是很清楚了。不清楚的地方如下,希望张老师有空的时候可以解答一下,或者指出参考的书籍或者链接。

1,书上的原话:“linux内核以前采用pci bios提供的服务,但是现在可以不再涉及BIOS”,这句话是不是可以这么理解:BIOS 已经提供了对PCI部分的支持,即对PCI总线和设备进行了枚举和配置,linux 作为后来的一个操作系统,为了全面管理所有的设备,包括PCI设备,不得不重新建立一套机制,也就是再次进行PCI总线和设备的枚举和配置,这里枚举是真,配置是假,应该是记录被BIOS配置好的信息吧?(当然在这一次的枚举和记录过程中,可以调用BIOS提供的服务,也可以自己去读设备的配置空间,来获取信息)

2,假定计算机上的设备占用的资源(IO,内存),都是由BIOS分配的。显然计算机上有有很多legacy device,非PCI设备,PCI设备的资源可以根据不冲突的原则来动态分配,那么那些legacy 设备占用的资源呢?是在设备出厂的时候就固定了吗?

3,PCI设备占用的资源(IO,内存),由BIOS动态分配。主要是PCI设备的配置空间里有IO基址寄存器和存贮基址寄存器,这些基址寄存器其实也是可编码的译码器,

只要你在这些基地址寄存器里写了一个物理地址(前提是不冲突),就相当于配置好了这个设备的物理地址,当CPU发过来的物理地址和这个地址符合的时候,就由这个译码器负责译码,之后把控制信号传递到设备内部,设备内部对这个操作作出反应。

 

写的比较多,也比较乱,主要原因是对硬件不是很了解,所以还请张老师解答下。


IP 地址: 已记录   报告
   2010-06-11, 15:14 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: PCI总线和设备的枚举以及配置
Reply Quote

1,BIOS会为每个设备分配资源(内存、IO、中断),操作系统可以保持BIOS做的分配,也可以调整。通常只有遇到冲突时,才会尝试调整。

2,PC标准约定(或者说保留)了一些资源来给一些设备用,这些设备通常就是今天所谓的Legacy设备,比如给CMOS用70,71端口,给串行口的端口和中断等。简单说,Legacy设备是靠约定和标准来分配资源的。

3,基本如此,关键是芯片组(内存控制器)在“指挥交通”,它会根据访问的内存地址来决定‘路由’到DRAM还是总线设备。

匆忙中简略回答,欢迎大家补充讨论:-)

 


IP 地址: 已记录   报告
高端调试 » 系统架构 » PCI/PCI Express... » Re: PCI总线和设备的枚举以及配置

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.