目录
1.2 uncorrectable error每个bit的介绍(spec 6.2.7)
1.2.1 Data Link Protocol Error
1.2.4 Flow Control Protocol Error
1.2.5 Completion Timeout Status
1、AER status register
(5条消息) PCIe AER(一)_Amelie_wyl的博客-CSDN博客
1.2 uncorrectable error每个bit的介绍(spec 6.2.7)
1.2.1 Data Link Protocol Error
spec 3.6.2.2
如果不熟悉pcie的ack nak机制,需要了解一下(5条消息) PCIe系列专题之三:3.2 数据链路层Ack/Nak机制解析_pcie nak_古猫先生的博客-CSDN博客 如果ack nak DLLP中的sequence number和实际传输的TLP 的sequence number 不对应,这个是data link protocol error ,这里的不对应是指sequence number>NRS;
acknak机制是为了保证TLP成功接收的反馈机制。每个发送的TLP到达data link layer的时候会给它首部添加sequence number(这个TLP存储在buffer中),发送给对端,对端成功接收会反馈回来一个ack DLLP或没有成功接收反馈一个nak DLLP;接收到ack之后本端就会把buffer中的“缓存”TLP清掉,接到nak就再从buffer里面取出来失败的TLP重发;①每个acknak中也会有sequence number,与刚刚传输的TLP对应是符合正常情况的,还有一种是小于刚刚发送的TLP携带的sequence number;②这个时候本端会重新发送接收的acknak中seuqnece number对应的TLP;③如果大于刚发送的TLP携带的sequence number ,说明丢失了一些TLP,这是一个比较严重的错误data link protocol error 。
注入错误的时候直接发送一个acknak seuqence number =4095(远大于NRS)