前面的文章提到過高級錯誤報告(Advanced Error Reporting,AER),接下來詳細(xì)地介紹一下這一功能。在已有的PCIe錯誤報告機(jī)制上(之前文章介紹的),AER還支持以下特性:
· 在登記實際發(fā)生的錯誤類型時,有更好的粒度(Granularity,可以理解為區(qū)分度或者精確度)
· 區(qū)分各種不可校正錯誤的嚴(yán)重程度
· 支持登記包頭中的錯誤
· 為Root通過中斷報告接收到的錯誤消息提供了標(biāo)準(zhǔn)化的控制機(jī)制
· 可以定位錯誤源在PCIe體系結(jié)構(gòu)中的位置
· 能夠獨立地屏蔽某種(或者多種)錯誤類型的報告
配置空間中的AER相關(guān)寄存器結(jié)構(gòu)如下圖所示:
前面的文章中多次提到過,ECRC的產(chǎn)生于校檢需要AER的支持,相關(guān)控制bit位于高級錯誤功能控制寄存器中,如下圖所示:
其中,最低5bits為當(dāng)前錯誤指針(First Error Pointer),當(dāng)相關(guān)錯誤狀態(tài)更新時,該指針由硬件自動更新。一般情況下,當(dāng)前錯誤指針指向的錯誤是優(yōu)先級最高的錯誤,需要最先被處理的,往往也是其他錯誤的根源。PCIe Spec V2.1還支持多個錯誤的追蹤(Tracking Multiple Errors)。
圖中的ROS、RWS、RO等字符的意義如下:
· RO——只讀(Read Only),由硬件控制
· ROS——只讀且不被復(fù)位(Read Only and Sticky)
· RsvdP——保留且不可以用于其他用途
· RsvdZ——保留且只能被寫0
· RWS——可讀可寫且不被復(fù)位(Readable,Writeable and Sticky)
· RW1CS——可讀,寫1清零,且不被復(fù)位
不被復(fù)位是指該bit的內(nèi)容不會因為復(fù)位(斷電后的上電復(fù)位除外)而發(fā)生改變。PCIe總線中有多種復(fù)位概念,Sticky bit(不被復(fù)位的位)不會受到功能層復(fù)位(Function Level Reset, FLR)、熱復(fù)位(Hot Reset)和暖復(fù)位(Warm Reset)的影響,甚至不受冷復(fù)位(Cold Reset)的影響(當(dāng)主電源切斷后,Vaux等二級電源仍保持正常供電)。關(guān)于PCIe總線的復(fù)位機(jī)制,后續(xù)的文章會詳細(xì)地介紹。
-
寄存器
+關(guān)注
關(guān)注
31文章
5294瀏覽量
119816 -
PCIe
+關(guān)注
關(guān)注
15文章
1200瀏覽量
82352
原文標(biāo)題:【博文連載】PCIe掃盲——高級錯誤報告AER(一)
文章出處:【微信號:ChinaAET,微信公眾號:電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論