ACPI 中文文档ACPI 中文文档
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
  • 第 5 章

    • 总览
    • 5.1. 系统描述表架构概述
    • 5.2. ACPI 系统描述表
      • 5.2.1. 保留位和字段
      • 5.2.2. 兼容性
      • 5.2.3. 地址格式
      • 5.2.4. 通用唯一标识符 (UUID)
      • 5.2.5. 根系统描述指针 (RSDP)
      • 5.2.6. 系统描述表头
      • 5.2.7. 根系统描述表 (RSDT)
      • 5.2.8. 扩展系统描述表 (XSDT)
      • 5.2.9. 固定 ACPI 描述表 (FADT)
      • 5.2.10. 固件 ACPI 控制结构 (FACS)
      • 5.2.11. 定义块
      • 5.2.12. 多个APIC描述表(MADT)
      • 5.2.13. 全局系统中断
      • 5.2.14. 智能电池表 (SBST)
      • 5.2.15. 嵌入式控制器启动资源表 (ECDT)
      • 5.2.16. 系统资源关联表 (SRAT)
      • 5.2.17. 系统局部性信息表 (SLIT)
      • 5.2.18. 更正平台错误轮询表 (CPEP)
      • 5.2.19. 最大系统特性表 (MSCT)
      • 5.2.20. ACPI RAS 功能表 (RASF)
      • 5.2.21. 内存电源状态表 (MPST)
      • 5.2.22. 启动图形资源表 (BGRT)
      • 5.2.23. 固件性能数据表 (FPDT)
      • 5.2.24. 通用定时器描述表 (GTDT)
      • 5.2.25. NVDIMM 固件接口表 (NFIT)
      • 5.2.26. 安全设备 (SDEV) ACPI 表
      • 5.2.27. 异构内存属性表(HMAT)
      • 5.2.28. 平台调试触发器表 (PDTT)
      • 5.2.29. 处理器属性拓扑表 (PPTT)
      • 5.2.30. 平台健康评估表 (PHAT)
    • 5.3. ACPI 命名空间
    • 5.4. 定义块编码
    • 5.5. 控制方法和 ACPI 源语言 (ASL)
      • 5.5.1. ASL 报表
      • 5.5.2. 控制方法执行
        • 5.5.2.1. 论点
        • 5.5.2.2. 方法调用约定
        • 5.5.2.3. 局部变量和本地创建的数据对象
        • 5.5.2.4. 进入运营区域
          • 5.5.2.4.1. 运营地区
          • 5.5.2.4.2. CMOS 协议
          • 5.5.2.4.3. PCI 设备 BAR 目标协议
          • 5.5.2.4.4. 声明IPMI运营区域
          • 5.5.2.4.5. 声明 GeneralPurposeIO 操作区域
          • 5.5.2.4.6. 声明 GenericSerialBus 操作区域
            • 5.5.2.4.6.1. 声明 GenericSerialBus 字段
            • 5.5.2.4.6.2. 声明和使用 GenericSerialBus 数据缓冲区
            • 5.5.2.4.6.3. 使用通用串行总线协议
          • 5.5.2.4.7. 声明PCC运营区域
    • 5.6. ACPI 事件编程模型
      • 5.6.1. ACPI 事件编程模型组件
      • 5.6.2. ACPI 事件类型
      • 5.6.3. 固定事件处理
      • 5.6.4. 通用事件处理
      • 5.6.5. GPIO 信号 ACPI 事件
      • 5.6.6. 设备对象通知
      • 5.6.7. 设备类特定对象
      • 5.6.8. 对象、方法和资源的预定义ACPI名称
      • 5.6.9. 中断信号ACPI事件
      • 5.6.10. 使用设备 _PRW 对象管理唤醒事件
    • 5.7. 预定义对象
    • 5.8. 系统配置对象

5.6.1. ACPI 事件编程模型组件

ACPI事件编程模型的组件如下:

  • OSPM

  • FADT

  • PM1a_STS、PM1b_STS 和 PM1a_EN、PM1b_EN 固定寄存器块

  • GPE0_BLK 和 GPE1_BLK 寄存器块

  • 在GPE块设备中定义的GPE寄存器块

*SCI中断

  • ACPI AML 代码通用事件模型

  • ACPI 设备特定型号事件

  • ACPI 嵌入式控制器事件模型

下表描述了ACPI事件编程模型中每个组件的作用。

表 5.152 ACPI 事件编程模型组件 组件描述
OSPM接收所有引发的SCI中断(接收所有SCI事件)。要么处理该事件,要么屏蔽该事件,然后调用OEM提供的控制方法来处理该事件。由OSPM直接处理的事件是固定ACPI事件;由控制方法处理的中断是通用事件。
FADT指定ACPI兼容平台上以下固定寄存器块的基址:PM1x_STS和PM1x_EN固定寄存器以及GPEx_STS和GPEx_EN固定寄存器。
PM1x_STS 和 PM1x_EN 固定寄存器PM1x_STS 位引发固定ACPI 事件。当设置PM1x_STS位时,如果设置了匹配的PM1x_EN位,则会引发ACPI、SCI事件。
GPEx_STS 和 GPEx_EN 固定寄存器GPEx_STS 引发通用事件的位。对于GPEx_STS中实现的每个事件位,GPEx_EN中必须有一个可比较的位。最多可实现 256 个GPEx_STS位和匹配的GPEx_EN位。当设置GPEx_STS位时,如果设置了匹配的GPEx_EN位,则会引发通用SCI事件。
SCI 中断映射到声明的中断向量的电平敏感、可共享中断。 SCI中断向量可与其他出现频率较低的低优先级中断共享。
ACPI AML 代码通用事件模型允许OEM、AML代码使用GPEx_STS事件的模型。这包括使用GPEx_STS事件作为“唤醒”源以及OEM定义的其他一般服务事件(“按钮按下”、“热事件”、“设备存在/不存在更改”等)。
ACPI 设备特定模型事件ACPI命名空间中具有ACPI特定设备 ID 的设备可以提供附加事件模型功能。特别是,ACPI嵌入式控制器设备提供了通用事件模型。
ACPI 嵌入式控制器事件模型该模型允许OEM、AML代码使用嵌入式控制器查询命令的响应来提供OEM定义的一般服务事件。
Next
5.6.2. ACPI 事件类型