Linux-Kernel
ACPI 喚醒 4 個字母的程式碼是什麼意思?
我必須禁用某些事件以避免在我的台式機掛起後立即喚醒,我通過反複試驗做到了(效果很好,所以這不是問題)。但我想知道……例如在我的筆記型電腦中,我有一個很長的列表
/proc/acpi/wakeup
:[...] RP03 S4 *disabled PXSX S4 *disabled RP04 S4 *disabled pci:0000:00:1c.3 PXSX S4 *enabled pci:0000:03:00.0 RP06 S4 *disabled [...]
我四處搜尋,找不到解釋第一列中4字母程式碼含義的列表的地方。我想他們後面帶有設備名稱的事件是由該設備連結/生成的,但我對其餘的大部分內容感到茫然……減去瘋狂的猜測。
例如,我怎麼知道事件
RP06
是什麼?哪裡有清單?還是這些程式碼是特定於供應商的?
這些程式碼來自 BIOS 的 DSDT(差分系統描述表)。這個“表”描述了主機板上的集成設備、它們的依賴關係和電源管理功能。
DSDT 中的設備以樹的形式排列,每個路徑組件限制為 4 個字元。中的程式碼
/proc/acpi/wakeup
是供應商用於設備的設備的最後路徑組件(也稱為名稱)。它們本質上是特定於供應商的,因為供應商可以根據自己的喜好命名任何設備。但是有一些名稱在許多供應商之間是通用的,要麼是因為它們在ACPI 規範中用作範例,要麼是因為它們是明顯的縮寫:
- PS2K:PS/2 鍵盤
- PS2M:PS/2 滑鼠
- PWRB 或 PBTN:電源按鈕
- 蓋子:筆記型電腦蓋
- RP0x 或 EXPx:PCIE 插槽 #x(又名 PCI Express 根埠 #x)
- EHCx 或 USBx:USB 2.0 (EHCI) 晶片
- XHC:USB 3.0 (XHCI) 晶片
- PEGx:用於圖形插槽 #x 的 PCI Express
- GLAN:千兆乙太網