前面的章节已经对ACPI Table和ASL语言的基本语法有过初步的介绍。这里在复习一下。ASL是ACPI Source Language的简称,它经过编译器编译过后变成AML,然后交给操作系统来执行。
1. 根作用域下面的5个域(\_GPE, \_PR, \_SB, \_SI, \_TZ)
\_GPE, 主要负责ACPI的事件处理
\_PR, 处理器相关
\_SB, 所有的设备和总线
\_SI, 系统指示灯
\_TZ, Thermal相关,用于读取某些温度值
2. \_GPE
用RW在windows下面可以查看本机的ACPI Table。我们来看一下真实的\_GPE是什么样子的。
GPE下面的东西,别的不多讲,主要讲一下Lxx Method.
GPE域内的Lxx方法都是和GP0_STS寄存器中的bit对应起来的。举个例子,_L01对应的就是GP0_STATUS中的第一位。
注意,Lxx中的xx是16进制而不是十进制,所以如果你看到_L24,千万不要以为是bit24, 而应该是bit36。
3. \_PR Processor相关
- Scope (_PR)
- {
- Processor (CPU0, 0x00, 0x00000410, 0x06)
- {
- ....
- }
- ....
- }