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.2.24. 通用定时器描述表 (GTDT)

本节介绍通用定时器描述表 (GTDT) 的格式,该表为 OSPM 提供有关系统通用定时器配置的信息。通用定时器 (GT) 是在基于 ARM 处理器的系统上实现的标准定时器接口。 GT硬件规范可在_ACPI相关文档链接_ (http://uefi.org/acpi) 的_ARM 架构_ 标题下找到。 GTDT为OSPM提供有关系统GT中断配置的信息,适用于每个处理器定时器和平台(内存映射)定时器。

GT规范定义了以下每处理器定时器:

  • 安全EL1定时器

  • 非安全EL1定时器

*EL2定时器

  • 虚拟EL1计时器

  • 虚拟EL2定时器

并定义以下内存映射平台定时器:

  • GT 区块

  • Arm 通用看门狗

表 5.98 GTDT 表结构 字段字节长度字节偏移描述
标题
- 签名40“GTDT”。通用定时器描述表的签名。
- 长度44整个通用定时器描述表的长度(以字节为单位)。
- 修订183
- 校验和19整个表的总和必须为零。
- OEMID61010 OEM ID。
- OEM 表 ID81616制造商型号ID。
- OEM 修订424OEM 提供的OEM 表ID 的修订版。
- 创建者ID42828创建该表的实用程序的供应商ID。
- 创建者修订43232创建表的实用程序的修订。
CntControlBase 物理地址83636计数器控制块所在的 64 位物理地址。如果系统实现EL3(安全扩展),则该值是可选的。如果未提供,则该字段必须为 0xFFFFFFFFFFFFFFFF。
保留44444必须为零
安全EL1 定时器GSIV44848 GSIV 用于安全EL1 计时器。该值是可选的,因为在非安全环境(EL2或EL1)中执行的操作系统将忽略这些字段的内容。
安全 EL1 定时器标志45252安全EL1计时器的标志(定义如下)。该值是可选的,因为在非安全环境(EL2或EL1)中执行的操作系统将忽略该字段的内容。
非安全EL1 定时器GSIV45656 GSIV用于非安全EL1计时器。
非安全EL1 定时器标志460非安全EL1计时器的标志(定义如下)。
虚拟EL1 计时器GSIV46464 GSIV 为虚拟EL1 计时器。
虚拟EL1 定时器标志46868虚拟EL1计时器的标志(定义如下)
EL2 定时器 GSIV47272 GSIV 用于 EL2 计时器。
EL2 定时器标志47676 EL2 定时器的标志(定义如下)。
CntReadBase 物理地址880计数器读取块所在的 64 位物理地址。如果系统实现EL3(安全扩展),则该值是可选的。如果未提供,则该字段必须为 0xFFFFFFFFFFFFFFFF。
平台定时器计数48888 Platform Timer Structure[] 数组中的条目数
平台定时器偏移49292平台计时器结构 [] 数组相对于该表开头的偏移量
虚拟EL2 计时器GSIV49696 GSIV 为虚拟EL2 计时器。对于实施 ARMv8.1VHE 的系统,此字段是强制性的。对于未实现 ARMv8.1VHE 的系统,该字段为 0。
虚拟EL2 定时器标志4100100虚拟EL2计时器的标志(定义如下)。对于实施 ARMv8.1VHE 的系统,此字段是必需的。对于未实现 ARMv8.1VHE 的系统,该字段为 0。
平台定时器结构[]—平台定时器偏移平台定时器类型结构数组,描述该平台上可用的内存映射定时器。这些结构将在下面的部分中描述。

以下标志各自具有相同的定义,如下表所示:安全EL1定时器标志、非安全EL1定时器标志、EL2定时器标志、虚拟EL1定时器标志和虚拟EL2定时器标志。

表 5.99 标志定义:安全EL1定时器、非安全EL1定时器、EL2定时器、虚拟EL1定时器和虚拟EL2定时器 位字段位偏移位数描述
定时器中断模式01该位指示定时器中断的模式: 1:中断为边沿触发 0:中断为电平触发
定时器中断极性11该位指示定时器中断的极性: 1:中断为低电平有效 0:中断为高电平有效
始终在线的能力21该位指示定时器实现的始终开启功能: 1:无论处理器的电源状态如何,该定时器都保证断言其中断并唤醒处理器。必须支持ARM通用定时器生成中断的所有方法,并且必须能够唤醒处理器。 0:当其关联的处理器进入低功耗状态时,该定时器可能会丢失上下文或无法保证发出中断。
保留32929保留,必须为零。

GTDT平台定时器结构[]字段是平台定时器类型结构的数组,每个结构描述了可用平台定时器的配置。这些定时器是对上面GTDT中描述的每处理器定时器的补充。

表 5.100 平台定时器类型结构 值描述
0GT 区块
1Arm 通用看门狗
0x02-0xFF0x02-0xFF

每个结构的第一个字节声明该结构的类型,第二个和第三个字节声明该结构的长度。

5.2.24.1. GT 块结构

GT块是映射到系统地址空间的标准定时器块。每个GT块最多可实现 8 个 GT(GT0-GT7)。

GT块结构的格式如下表所示。

表 5.101 GT 块结构格式 字段字节长度字节偏移描述
类型100x0GT 块
长度2120+n*40,其中n是GT块中实现的定时器数量
保留13必须为零
GT 块物理地址(CntCtlBase)84GTCntCTLBase 块所在的 64 位物理地址
GT 块定时器计数41212此GT块中实现的定时器数量(“n”)。 。必须小于或等于 8。
GT 块定时器偏移41616从该结构开始到平台定时器结构数组的偏移量
GT 块定时器结构[]n * 40GT 块定时器偏移GT 块定时器结构数组。请参见GT块定时器结构格式表。
表 5.102 GT 块定时器结构格式 字段字节长度字节偏移描述
------------
GT 车架号10该计时器的帧编号 (0-7) (‘x’)
保留31必须为零
GTx 物理地址 (CntBaseX)84GTx 的 CntBase 块所在的物理地址
GTx 物理地址 (CntEL0BaseX)81212 GTx 的 CntEL0Base 块所在的物理地址。如果该块未针对 GTx 实现,则必须为 0xFFFFFFFFFFFFFFFF。
GTx 物理定时器GSIV420GSIV GTx 物理定时器
GTx 物理定时器标志424GTx 物理定时器的标志。请参阅标志定义:GT 块物理定时器和虚拟定时器。
GTx 虚拟计时器GSIV42828 GSIV GTx 虚拟定时器 如果 GTx 没有实现虚拟定时器,则该字段必须为 0。
GTx 虚拟计时器标志43232 GTx 虚拟计时器的标志(如果已实现)。请参阅标志定义:GT 块物理定时器和虚拟定时器。
GTx 通用标志43636请参阅通用标志。
表 5.103 标志定义:GT 块物理定时器和虚拟定时器 位字段位偏移位数描述
------------
定时器中断模式01该位指示定时器中断的模式: 1:中断为边沿触发。 0:中断是电平触发的。
定时器中断极性11该位指示定时器中断的极性: 1:中断为低电平有效 0:中断为高电平有效
保留230保留,必须为零。

标志定义:常用标志

表 5.104 标志定义 - 通用标志 位字段位偏移位数描述
安全定时器01该位指示定时器是安全的还是非安全的: 1:定时器是安全的 0:定时器是非安全的
始终在线的能力11该位指示物理和虚拟定时器实现的始终开启功能: 1:无论处理器的电源状态如何,该定时器都保证断言其中断并唤醒处理器。必须支持ARM通用定时器生成中断的所有方法,并且必须能够唤醒处理器。 0:当其关联的处理器进入低功耗状态时,该定时器可能会丢失上下文或无法保证发出中断。
保留230保留,必须为零。

5.2.24.2. Arm 通用看门狗结构

Arm 通用看门狗是一个平台GT,内置支持在符合服务器基本系统架构 (SBSA) 或基本系统架构 (BSA) 的平台上用作看门狗定时器。有关更多信息,请参阅 Arm 基础系统架构 (BSA) 标题下的 ACPI 相关文档链接。

Arm 通用看门狗结构的格式如下表所示。

表 5.105 Arm 通用看门狗结构格式 字段字节长度字节偏移描述
类型100x1 看门狗GT
长度2128
保留13必须为零
RefreshFrame物理地址84RefreshFrame块所在的物理地址
WatchdogControlFrame 物理地址81212看门狗控制帧块所在的物理地址
看门狗定时器GSIV420GSIV 用于 Arm 通用看门狗定时器
看门狗定时器标志424Arm 通用看门狗定时器的标志。请参见标志定义:Arm 通用看门狗定时器。
表 5.106 标志定义 - Arm 通用看门狗定时器 位字段位偏移位数描述
------------
定时器中断模式01该位指示定时器中断的模式: 1:中断为边沿触发 0:中断为电平触发
定时器中断极性11该位指示定时器中断的极性: 1:中断为低电平有效 0:中断为高电平有效
安全定时器21该位指示定时器是安全的还是非安全的: 1:定时器是安全的 0:定时器是非安全的
保留32929保留,必须为零。
Prev
5.2.23. 固件性能数据表 (FPDT)
Next
5.2.25. NVDIMM 固件接口表 (NFIT)