PCIe学习笔记(12)--- PCIe总线的枚举过程 ENUMERATION

1.

画张图


PROCESSOR

^

|

|Primary bus*

|

Root Complex

Host to PCI bridge

|

|Secondary bus *

|Bus 0*


Host to PCI Bridge (对其它BRIDGE也类似)的UPSTREAM, 我们称它为PRIMARY BUS

Host to PCI Bridge (对其它BRIDGE也类似)的DOWNSTREAM,我们称它为SECONDARY BUS


2.

在枚举过程中,存在几种情况

第一种,设备不存在

PCI的情况下,如果设备不存在,则CONFIGURATION REQUEST READ会TIMEOUT(MASTER ABORT ERROR),且返回0xFFFF的VENDOR ID

PCIE的情况下,如果设备不存在,则该目标地址的设备上层的BRIDGE会返回一个Cpld without data, status为UR(UNSUPPORTED REQUEST),为了与PCI的情况兼容,RC会返回0xFFFF的VENDOR ID


3.

在枚举过程中产生的TIMEOUT与UR,不被当作一个错误,所以不需要被软件来处理

事实上,在枚举过程中的软件,可能也没有相应的错误处理的能力


4.

对配置空间的读的时间问题

如果小于或等于5G的情况,需要在reset 100ms之后,发起

如果大于5G的情况,需要在LINK TRAINING100ms这后,发起 (因为GEN3的EQUALIZER TRAINING需要更长的时间,相对于GEN2, GEN1而言)


5.

第二种,设备没有准备好应答CONFIGURATION READ

PCI的情况下,有三种反应

一, 无视这个请求

二, 系统重试这个请示

三,接受这个请求,但在设备准备好的情况下,再返回请求的内容


PCIE的情况下

设备返回,CRS (CONFIGURATION REQUEST RETRY STATUS)


RC在设备没有准备好的情况下(返回CRS)

一,返回0x0001这样的一个VENDOR ID, 其它读取的内容都返回全1,示意SW,去做别的事情

二,如果是CONFIGURATION 写,或者是其它(除VENDOR ID之外)读,则需重试


6.

 确认了一下,PCIE的枚举,是DEPTH-FIRST,这个是软件的行为,与硬件无关

硬件需要配合软件,提供的就是

SECONDARY BUS NUMBER REGISTER与SUBORDINATE BUS NUMBER REGISTER





  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值