bloggerads

2015年12月7日 星期一

ACPI: APEI (ACPI Platform Error Interfaces)

ACPI: OS和Bios溝通的介面,APCI定義有3個Runtime元件(ACPI Registers/ACPI Bios/ACPI Tables)



OSPM: 支援ACPI規範的OS
ACPI Bios: 支援ACPI規範的Bios


--------------------------------------------------------------------------------------------------------
APEI是ACPI裡的一個章節,其中定義了4張表用來統一介面提供OSPM當硬體發生Error時的資訊。而硬體的Error 來源大致上分為以下這幾種:
  1. Processor machine check exception (for example, MC#:processor errors,cache and memory errors, and system bus errors)
  2. Chipset error message signals (for example, SCI, SMI, SERR#, MCERR#)
  3. I/O bus error reporting (for example, PCI Express root port error interrupt)
  4. I/O device errors
APEI的四個表分別是:
  1. BOOT Error Record Table (BERT) : 紀錄啟動過程無法處理的錯誤
  2. Error Record Serialization Table (ERST) : 用來儲存任何的錯誤,也定義了讀/寫/刪除錯誤
  3. Error Injection Table (EINJ): 用來測試, 也就是用來產生錯誤的表
  4. Hardware Error Source Table (HEST): 定義統一的硬體錯誤類型和錯誤來源 ( 如 MCE, NMI, PCIe, GHES,...),其中又以GHES最為特殊,顧名思義GHES=Generic Hardware Error Source, 代表任何的硬體錯誤都可以用GHES來定義
Firmware first:

  • 非Firmware first的Bios,當硬體發生錯誤的時候會直接發NMI給CPU讓CPU交給作業系統處理。而Firmware first則是發個SMI讓CPU進SMM mode讓Bios先上手判斷是什麼樣的錯誤,再決定要用SCI或NMI知會OS。但是如果是定義在MCA下的錯誤,就必須按照MCA 的規範產生CMCI或MCE。

<note>
CPER, Common Platform Error Record: UEFI Spec定義的規範. CPER is the format used to describe platform hardware error by various APEI tables, such as ERST, BERT and HEST etc.

SMI 有專有的 pin 接到 processor。assert SMI CPU會進入 SMM mode。

SCI是作業系統需要處理的中斷,SCI實際上就是一個GPI Pin, 透過ACPI描述哪個Pin讓OS來Monitor

3 則留言:

  1. 謝謝提供這麼好的訊息
    也歡迎多來我的部落格唷~~我們也可以互相交流!!
    http://memorymekuan.blogspot.tw/

    回覆刪除