Chrome OS ACPI 裝置¶
Chrome OS 特有的硬體功能透過 Chrome OS ACPI 裝置公開。Chrome OS ACPI 裝置的即插即用 ID 為 GGL0001,硬體 ID 為 GOOG0016。支援以下 ACPI 物件
物件 |
描述 |
|---|---|
CHSW |
Chrome OS 開關位置 |
HWID |
Chrome OS 硬體 ID |
FWID |
Chrome OS 韌體版本 |
FRID |
Chrome OS 只讀韌體版本 |
BINF |
Chrome OS 啟動資訊 |
GPIO |
Chrome OS GPIO 分配 |
VBNV |
Chrome OS NVRAM 位置 |
VDTA |
Chrome OS 驗證啟動資料 |
FMAP |
Chrome OS flashmap 基地址 |
MLST |
Chrome OS 方法列表 |
CHSW(Chrome OS 開關位置)¶
此控制方法返回 Chrome OS 特定硬體開關的開關位置。
引數:¶
無
結果程式碼:¶
一個整數,包含作為位域的開關位置
0x00000002 |
x86 韌體啟動時按下恢復按鈕。 |
0x00000004 |
EC 韌體啟動時按下恢復按鈕。(如果 EC EEPROM 可重寫則需要;否則可選) |
0x00000020 |
x86 韌體啟動時啟用了開發者開關。 |
0x00000200 |
x86 韌體啟動時韌體防寫已停用。(如果韌體防寫透過 x86 BIOS 控制則需要;否則可選) |
所有其他位均保留,應設定為 0。
HWID(Chrome OS 硬體 ID)¶
此控制方法返回 Chromebook 的硬體 ID。
引數:¶
無
結果程式碼:¶
一個以 null 結尾的 ASCII 字串,包含來自 EEPROM 的 Model-Specific Data 區域的硬體 ID。
請注意,硬體 ID 最多可包含 256 個字元,包括終止 null。
FWID(Chrome OS 韌體版本)¶
此控制方法返回主處理器韌體的可重寫部分的韌體版本。
引數:¶
無
結果程式碼:¶
一個以 null 結尾的 ASCII 字串,包含主處理器韌體的可重寫部分的完整韌體版本。
FRID(Chrome OS 只讀韌體版本)¶
此控制方法返回主處理器韌體的只讀部分的韌體版本。
引數:¶
無
結果程式碼:¶
一個以 null 結尾的 ASCII 字串,包含主處理器韌體的只讀(bootstrap + recovery)部分的完整韌體版本。
BINF(Chrome OS 啟動資訊)¶
此控制方法返回有關當前啟動的資訊。
引數:¶
無
結果程式碼:¶
Package {
Reserved1
Reserved2
Active EC Firmware
Active Main Firmware Type
Reserved5
}
欄位 |
格式 |
描述 |
|---|---|---|
Reserved1 |
DWORD |
設定為 256 (0x100)。這表明該欄位不再使用。 |
Reserved2 |
DWORD |
設定為 256 (0x100)。這表明該欄位不再使用。 |
Active EC firmware |
DWORD |
啟動期間使用的 EC 韌體。
如果 EC 韌體始終為只讀,則設定為 0。 |
Active Main Firmware Type |
DWORD |
啟動期間使用的主韌體型別。
其他值已保留。 |
Reserved5 |
DWORD |
設定為 256 (0x100)。這表明該欄位不再使用。 |
GPIO(Chrome OS GPIO 分配)¶
此控制方法返回有關 Chrome OS 特定硬體的 Chrome OS 特定 GPIO 分配的資訊,以便核心可以直接控制該硬體。
引數:¶
無
結果程式碼:¶
Package {
Package {
// First GPIO assignment
Signal Type //DWORD
Attributes //DWORD
Controller Offset //DWORD
Controller Name //ASCIIZ
},
...
Package {
// Last GPIO assignment
Signal Type //DWORD
Attributes //DWORD
Controller Offset //DWORD
Controller Name //ASCIIZ
}
}
其中 ASCIIZ 表示以 null 結尾的 ASCII 字串。
欄位 |
格式 |
描述 |
|---|---|---|
訊號型別 |
DWORD |
GPIO 訊號的型別
其他值已保留。 |
屬性 |
DWORD |
作為位域的訊號屬性
|
控制器偏移 |
DWORD |
指定控制器上的 GPIO 編號。 |
控制器名稱 |
ASCIIZ |
GPIO 控制器的名稱。當前支援的名稱:“NM10” - Intel NM10 晶片 |
VBNV(Chrome OS NVRAM 位置)¶
此控制方法返回用於與 BIOS 通訊的 NVRAM (CMOS) 位置的資訊。
引數:¶
無
結果程式碼:¶
Package {
NV Storage Block Offset //DWORD
NV Storage Block Size //DWORD
}
欄位 |
格式 |
描述 |
|---|---|---|
NV 儲存塊偏移 |
DWORD |
經驗證的啟動非易失性儲存塊在 CMOS bank 0 中的偏移量,從第一個可寫 CMOS 位元組開始計算(即,偏移量 = 0 是時鐘資料的 14 個位元組之後的位元組)。 |
NV 儲存塊大小 |
DWORD |
經驗證的啟動非易失性儲存塊的大小(以位元組為單位)。 |
FMAP(Chrome OS flashmap 地址)¶
此控制方法返回主處理器韌體 flashmap 起始位置的物理記憶體地址。
引數:¶
無
None結果程式碼:¶
一個 DWORD,包含主處理器韌體 flashmap 起始位置的物理記憶體地址。
VDTA(Chrome OS 驗證啟動資料)¶
此控制方法返回在韌體驗證步驟和核心驗證步驟之間共享的驗證啟動資料塊。
引數:¶
無
結果程式碼:¶
包含驗證啟動資料塊的緩衝區。
MECK(管理引擎校驗和)¶
此控制方法返回在啟動期間從管理引擎擴充套件暫存器中讀取的 SHA-1 或 SHA-256 雜湊值。雜湊值透過 ACPI 匯出,以便作業系統可以驗證 ME 韌體是否已更改。如果管理引擎不存在,或者韌體無法讀取擴充套件暫存器,則此緩衝區可以為零。
引數:¶
無
結果程式碼:¶
包含 ME 雜湊的緩衝區。
MLST(Chrome OS 方法列表)¶
此控制方法返回 Chrome OS 硬體裝置支援的其他控制方法的列表。
引數:¶
無
結果程式碼:¶
一個包含以 null 結尾的 ASCII 字串列表的包,每個字串對應 Chrome OS 硬體裝置支援的一個控制方法,不包括 MLST 方法本身。對於此版本的規範,結果是
Package {
"CHSW",
"FWID",
"HWID",
"FRID",
"BINF",
"GPIO",
"VBNV",
"FMAP",
"VDTA",
"MECK"
}