2021年3月5日 星期五

PCI Express: Uncorrectable AER - Surprise Down Case Study

在之前,我撰寫了淺談PCI Express: Advanced Error Reporting(AER)文章介紹了整個Advanced Error Report(AER)的錯誤回報機制,文中提到AER主要可以分為Uncorrectable ErrorsCorrectable Errors

此篇文章主要描述最近機台上遇到的AER Case,那就是Uncorrectable Error中的Surprise Down,主要是透過LeCroy PCIe Analyzer截錄的LTSSM狀態機來分析,最終找到root cause。

2020年5月25日 星期一

原理PCI Express: Advanced Error Reporting(AER)

Advanced Error Report(簡稱AER)為PCIe 較為強健的錯誤回報機制,在PCI Express®Base Specification Revision 3.0 的6.2節"Error Signaling and Logging"章節有詳細的介紹整個AER的logging與repoting機制,由於工作上常常遇到Linux Kernel log中,出現AER error訊息,所以又把spec拿出來翻一翻,藉此寫一篇關於AER的機制,方便以後查詢,以下就是我對於spec的理解與淺見,如果有誤的地方還望指正。


2019年3月25日 星期一

原理Intel Virtualization Technology for Directed I/O(VT-d) for DMA Remapping


Intel 的Virtualization Technology有兩種,一種為CPU virtualization,稱為VMX(可以參考我寫的文章淺談Virtual Machine Extensions(VMX)近一步了解),另一個為I/O virtualization,簡稱為VT-d

2019年3月23日 星期六

淺談Intel Virtual Machine Extensions(VMX)

VMX主要是由Intel所定義的architecture,可以再 "Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3B: System Programming Guide, Part 2" 這分文件的Chapter19去詳細了解,文中都是對於spec的翻譯或者是自己的見解,如果有誤還請多指教。

2018年8月20日 星期一

Generate PCI Configuration Cycles by CF8/CFC

當Study過PCI spec後,第一支會練習的程式就是如何去Access PCI device的Configuration space,看到spec的3.2.2.3.2節,

PCI Configuration Space

入行BIOS工程師,通常第一份spec就PCI Local Bus Specification Revision 3.0(簡稱PCI spec),PCI 最精髓的地方就是Configuration Space,PCI 的Configuration Space 有256-byte(0h - FFh),它可以被分為兩個部分,分別是"predefined header region" and a "device dependent region"。

解析 NVM Express - 透過Linux OS 解析M.2 NVMe SSD

在之前,我撰寫了三篇有關NVMe的文章 ,分別是" 原理NVM Express - NVMe Submission Queue & Completion Queue (SQ & CQ) "、" 原理NVM Express - Admi...