PCIE Capabilities and Error

17 篇文章 1 订阅
2 篇文章 0 订阅

PCIE Capabilities

PCIE将配置空间分为256 bytes (FF)跟扩展 4096 bytes(FFF),PCIE Capability structure也包括PCI兼容部分和扩展部分

1. PCI 兼容部分Capability structure:

从offset 0x34开始读取下一个ID pointer,直到读取值为00

0x34 处为0x40,表示该Capability (ID=1) offset 为0x40;下一Capability offset指向0x70;ID定义参考PCI_Local_Bus_Spec_3.0 page329, 如ID为1表示PCI powermanagement Capabilit

ID 10 PCI Express Capability (DevCtl/LnkCtl....)如下图,offset 0x34 指向0x80,可以看到0x80 处ID 为0x10,即0x80 开始为PCI Express Capability

2. PCI Express Extended Capabilities

Extended Capabilities 从PCI 配置空间0x100 开始,有一个Capability ID,如果为0000,则表示没有任何扩展功能

类似于PCI Capabilities list

如下图ID为0001,下一个offset指向0x148;

ID 0001 表示AER Capability,所以100开始为Advanced Error Reporting Capability

PCIE error report

PCIe 定义了基本的与AER两种错误报告范例,基本的错误报告是所有PCIe devices需要的,定义了最小错误报告需求;AER 定义了更强大的错误报告,通过Advanced Error Reporting Capability structure完成

PCIe error 包括Uncorrectable errors and Correctable errors,Uncorrectable errors 又包括fatal 跟 no-fatal

设备错误传递及记录流程:(Advanced Error Reporting only

  1. detect 到的error type根据Uncorrectable Error Severity reg决定严重性,这个寄存器来决定报为fatal error or no-fatal error,如果对应bit设置为1,则报为fatal error                                      
  2. 设置对应bit 到Uncorrectable Error Status reg 或者Correctable Error Status reg,bit为1意味着侦测到对应错误,软件可以清掉该error status                                                                       
  3. Masked in Uncorrectable Error Mask reg 或者Correctable Error Mask reg,这个寄存器控制着是否report error到PCIe RP;如果mask为1,则对应error不会上报                                       
  4. 按照3如果mask,则不上报结束;如果没有mask,uncorrected error则记录前缀和报头,并更新前缀和报头报告字段和regs;​编辑
  5. Corrected error如果是Advisory Non-Fatal Error(警告性的非致命错误)则表示是检测到ERR_NONFATAL(uncorrected error)错误的设备并不是最终决定错误处理的设备,因此用ERR_COR代替ERR_NONFATAL来提醒软件
  6. 如果error 是UR(unsupported request)或者Device control reg 中URRE=0 /FERE=0/CERE=0/NERE=0 或者 SERR_En=0 ,则不报告error;否则则报告对应ERR_FATAL,ERR_NOFATAL,ERR_COR.                                                                                 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值