Linux-Kernel

ACPI 喚醒 4 個字母的程式碼是什麼意思?

  • November 19, 2021

我必須禁用某些事件以避免在我的台式機掛起後立即喚醒,我通過反複試驗做到了(效果很好,所以這不是問題)。但我想知道……例如在我的筆記型電腦中,我有一個很長的列表/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:千兆乙太網

引用自:https://unix.stackexchange.com/questions/236127