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