ACPI 體系中的重要名詞 .

來自: http://blog.csdn.net/hitxiaotao/article/details/4131841

DSDT: DSDT 稱做 Differentiated Definition Block,存在於 BIOS 中並與當前的硬件平臺兼容的,提供了系統的硬件特性(例如某些設備的內部寄存器和存儲器)的應用策略和配置,在系統初始化的時候,DSDT 被當前系統啓動時初始化到名字空間中。
  
  FADT:FADT 中包含了 ACPI 的硬件寄存器組(GPE)的應用和配置(包含它們的硬件地址)也包括DSDT表的硬件地址。
  
  ACPI Namespace: 對於ACPI層來說,內存維持了一個目錄形式的指向每個設備,以及 GPE 的名字空間,這個名字樹是通過初始化的時候由 DSDT 創建的,名字樹可以通過 loadtable 方法從 BIOS 中載入 DSDT 改變,而每個設備在 ACPI 層中都被描述成一個對象,包含有對這個設備特性和操作策略的描述列表,系統所有類型設備都是保存在同一個名字樹下。在 ACPI OS 層上調用 _ADR 來獲得 Namesapce 的設備名,Namespace 的例子見例 1-1:
  
  OSPM(OS-directed Power Management):OSPM 操作系統支持 ACPI 的一個部分,操作系統(OS)可以從操作系統下驅動程序的角度控制 ACPI 子模塊,同時支持 ACPI 包括 SCI 中斷,設備事件,系統事件模式,這些事件模式可以充分支持 Hot-plug 方式。
  
  SCI 中斷:(System Control Interrupt) 系統控制中斷,SCI 中斷是一種源自 ACPI 兼容芯片系統中斷,系統映射不同的 ACPI 事件中斷向量以便共享此中斷,當底層硬件產生 SCI 中斷的時候(例如設備插入事件引發中斷),根據通知 OSPM 層處理相對應的 ACPI 事件,OSPM 層會調用預先安裝的中斷句柄。
  
  GPE Block Device 和 GPE 事件:GPE Block Device 是平臺設計者可按照 FADT(Fixed ACPI Descriptor Table) 描述表中響應 GPE 的寄存器組,GPE 的輸入腳。作爲 GPE 設備描述塊中的地址存在於 FADT 中,每個 GPE Block Device 可以容納 128 個 GPE 事件,ACPI 層上提供兩個通用目標寄存器組–GPE0_BLK 和 GPE1_BLK,(也就是說可以響應 256 個 GPE 事件)每個寄存器組中包含兩個等長度的寄存器 GPEx_STS,GPEx_EN,他們的系統地址(硬件地址)都保存在 FADT 中,作爲 GPE Blocks 的行爲(或者是操作)描述部分存在於 ACPI 名字空間中;用於指示當前的設備的事件,例如設備插入/拔除事件發生的時候,相關的狀態位(GPEx_STS中的位,這個是在硬件設計的時候相關設備的事件信號會連接到這些狀態位)會被外部的事件所置位,生成 SCI,讓 OSPM 層運行相關的控制程方法通知 ACPI 層;GPEx_EN 表示每個事件的使能位,一般說來在南橋(ICH4)中有這幾個寄存器,它們的硬件地址保存在 FADT 中。
  
  GPE 事件就是通過 GPE 寄存器組引發 SCI 中斷後,通告 OSPM 層有關設備的事件,例如下面介紹 Hot-Plug 的時候會詳細或者簡略地介紹到總線枚舉,設備檢查,設備喚醒,設備彈出幾個事件。
  
 

  ACPI” Source Language(ASL):ASL 語言是 ACPI 層用於描述特定的 ACPI 對象的 ACPI 專用語言,並且包括了 ACPI 對象的控制方法(Control method),OEM 廠商和 BIOS 設計者在 BIOS 中使用 ASL 定義所有的設備爲 ACPI 對象,並且可以生成 ASL 格式的專門的控制方法,1-1 例就是關於 ASL 的例子:
  ASL 的語法規參看 ACPI Specification Revision 2.0
  AML 和 AML 分析器:AML 是 ACPI 控制方法的虛擬機器語言,AML 執行過程也就是 ACPI 核心驅動層,ACPI 控制方法使用 AML 來進行編寫,但是通常而言對編寫者來說是寫成 ASL 的方式,通過 AML 翻譯器進行翻譯,AML 翻譯器不但具備 ASL 的翻譯的功能,而且可以執行 AML 方法,當用 ASL 編寫的 DSDT 表被載入到名字空間的時候,將會被 AML 翻譯器翻譯成執行時候可以辨別的機器碼,例如關鍵字 SCOPE 在進入 AML 編譯器之前中是以一個 ACSII 編碼保存在 DSDT 中,但 DSDT 被載入名字空間之後將變成 0×10 的單字節數值(AML 操作值爲 ScopeOP)。對 AML 的編譯過程和轉換方式,ASL 中的關鍵字可以參看 ACPI Specification Revision 2.0 中 section 17 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章