如果Port口将AmicOp Egress Blocking使能,则在其收到待转发的AtomicOp Request请求时,将提前结束这个请求,并给请求者回复UR completion。 [25] TLP Prefix Blocked Error Status (Optional) 如果Port口将End-End TLP Prefix Blocking使能,则在其收到带Prefix的TLP时,将提前结束这个请求,并给请求者回复UR completion(...
Advisory Non-Fatal Error Cases 在某些情况下,非致命错误的检测器不确定错误是否可恢复,或者是否需要任何恢复动作,甚至可能根本不需要进行任何恢复动作。例如,如果软件尝试从不存在的设备或功能执行配置读取操作,则完成中的UR状态将向软件发出错误信号,软件不需要通过发送ERR_NONFATAL消息来进一步向Completer发出错误信号。...
· 不支持的请求(Unsupported Request,UR),Completer Abort(CA)或者不对应的返回包(Unexpected Completion) · 接收到损坏的数据包(Poisoned Packet) 3.2.4 Advisory Non-Fatal Error(警告性的非致命错误) 在一些情况下如果检测到ERR_NONFATAL错误的设备并不是最终决定错误处理的设备,设备如果配有AER则发送ERR_COR提...
在PCIe总线中,发生错误的设备会通过错误消息(Error Message)逐级将错误信息发送至Root,Root接收到错误消息后,会产生对应的中断通知系统。 · 错误发送(Error Signaling):指的是通过发送错误消息(或者带有UR,CA的Completion和Poisoned TLP)来传递错误信息的过程。 注:“带有UR,CA的Completion”在前面的文章中介绍过,不...
· 错误报告(Error Reporting):通知系统某个(或多个)错误发生了。在PCIe总线中,发生错误的设备会通过错误消息(Error Message)逐级将错误信息发送至Root,Root接收到错误消息后,会产生对应的中断通知系统。 · 错误发送(Error Signaling):指的是通过发送错误消息...
按照协议,设备在收到non-posted的TLP报文后需要返回Cmpl,Cmpl的header中有一个completion status field,可以把对应报文的状态返回给requester,requester可以根据返回的status来决定下一步动作。返回的异常status主要有:UR,CRS和CA。这几个status分别对应哪些错误见浅谈AER的wiki。
· TLP包头异常(TLP Prefix Blocked) · 访问控制服务(Access Control Services,ACS)异常 · MC(Multi-cast) Blocked TLP · 不支持的请求(Unsupported Request,UR),Completer Abort(CA)或者不对应的返回包(Unexpected Completion) · 接收到损坏的数据包(Poisoned Packet)...
UR,Unsupported Request,不支持的请求 CA,Completer Abort,支持但由于违例等原因被终止了 RRS,Request Retry Statys,需要重新发生请求。在Gen6之前叫CRS,即Configuration Request Retry Status,PCIe 6.0 的 DMWR也支持请求重传,所以把configuration去掉了。 其他预留 ...
3. Error Message(错误消息):向主机报告错误信息 前两种之前的文章都已经提及,错误消息的格式和对应的消息编码如下所示: 为了兼容PCI总线的错误报告机制(使用PERR#和SERR#),PCIe设备会自动将CA、UR和Poisoned TLP转换为对应的错误信息。具体这里就不详细介绍了,有兴趣的可以自行阅读PCIe Spec的相关章节。
Completer通常发送一个带有Unsupported Request或Completer Abort (UR/CA)状态的Completion,以表示non-post request的不可纠正错误。如果UR/CA错误的严重性是非致命的,则程序必须将此情况作为Advisory Non-Fatal Error Cases处理。带有AER会发送ERR_COR消息来表示非致命错误,没有AER的不会发送错误消息。如果Completer在...