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"。

2018年4月15日 星期日

Parse file in c, fopen, fgets, fgetc(如何使用c語言解析檔案)


最近因為寫tool時,需求要去Parse 檔案理面的字串,只用到fopen, fgetc和fgets三個function就達成了,這三個function在stdio.h這個header file有提供,所以必須在code裡include stdio.h,首先先介紹這三個function

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

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