2010年2月2日 星期二

ACPI v.s ASL Code

ACPI v.s ASL Code

[轉貼] 小華的部落格



先說明一下何謂硬體事件: 在系統中,常常有一些硬體會產生一些事件,例如使用者按下Power Button,而這個動作需不需要讓OS知道 ? 答案是肯定的;當OS知道後,最常出現的畫面就是會跳出一個視窗,然後讓你選擇”重新開機” 、 “登出” 或是 “關閉電腦”,另外像是你的NoteBook 插上船塢(Docking) 時,也是要通知OS 目前系統插在船塢上,這樣子才能更新狀態或是做其他需要服務的事情。而這些動作就是硬體所產生的事件,【而事件產生後需要通知OS】,通知的方式也分成不同類型,最常見的方式就是SCI。

假設產生的硬體事件是透過SCI 來告知OS有事件產生,而OS的驅動程式會去辨別是屬於哪一種硬體事件(系統中可以產生事件的硬體有很多類型),然後針對不同的事件去執行不同的ASL Code。

一般透過SCI 來通知OS的硬體事件都會有一個事件編號,假設有一個硬體事件產生,而他的事件編號是Number 20(編號是BIOS端自己定義的,所以家OEM/ODM製造出來的電腦中所代表的意思也不同),一般我們稱為此事件為Q event 編號20,寫作Q20; 當OS 知道是Q20 event後,就會執行對應的ASL Code,例如:

Method(_Q20){ <--ACPI Spec定義Q Method 可以從00~FFh,其意義由製造商自己定義
…..
}





ref :
小華的部落格

沒有留言:

張貼留言