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.16. 系统资源关联表 (SRAT)

此可选表提供的信息允许OSPM将以下类型的设备与系统位置/邻近域和时钟域相关联:

  • 处理器,

  • 内存范围(包括热添加内存设备提供的内存范围),以及

  • 通用发起者(例如,具有集成计算或 DMA 引擎的异构处理器、加速器、GPU 和 I/O 设备)。

在NUMA平台上,SRAT信息使OSPM能够在OS初始化期间(当尚无法评估ACPI命名空间中的对象时)对操作系统进行最佳配置。

OSPM 仅在 OS 初始化期间评估 SRAT。启动时启动的所有处理器中的 Local APIC ID / Local SAPIC ID / Local x2APIC ID 或 GICC ACPI 处理器 UID 必须出现在 SRAT 中。如果动态添加的处理器的 Local APIC ID / Local SAPIC ID / Local x2APIC ID 或 GICC ACPI 处理器 UID 不存在于 SRAT 中,处理器设备或其祖先之一的 _PXM 对象必须存在于ACPI命名空间中。

注意:SRAT是定义邻近域的地方,_PXM 提供了一种将设备对象(及其子对象)与SRAT定义的邻近域关联的机制。

有关更多信息,请参阅第 6.2.14 节 (_PXM Proximity)。

表 5.47 静态资源亲和性表格式 字段字节长度字节偏移描述
标题
签名40“SRAT”。系统资源关联表的签名。
长度44整个SRAT的长度(以字节为单位)。长度表示表末尾的 Entry 字段的数量
修订183
校验和19整个表的总和必须为零。
OEMID61010 OEMID。
OEM 表 ID81616对于系统资源关联表,表ID 是制造商型号ID。
OEM 修订424OEM 所提供的OEM 表ID 系统资源关联表的修订版。
创建者ID42828创建该表的实用程序的供应商ID。
创建者修订43232创建表的实用程序的修订。
保留43636为了向后兼容保留为 1
保留840保留
静态资源分配结构[n]—4848平台的静态资源分配结构列表。请参阅处理器本地APIC/SAPIC 关联结构、内存关联结构、处理器本地 x2APIC 关联结构和GICC 关联结构。

5.2.16.1. 处理器本地APIC/SAPIC 关联结构

处理器本地APIC/SAPIC关联结构提供处理器的APIC、ID或SAPIC、ID/EID与该处理器所属的邻近域之间的关联。请参阅处理器本地APIC/SAPIC 关联结构。

表 5.48 处理器本地APIC/SAPIC 关联结构 字段字节长度字节偏移描述
类型100 处理器本地APIC/SAPIC 关联结构
长度1116
邻近域[7:0]12处理器所属邻近域的位[7:0]。
APIC ID13处理器本地APICID。
旗帜44标志 - 处理器本地APIC/SAPIC 关联结构。有关此字段的说明,请参阅处理器本地APIC/SAPIC 关联结构。
本地 SAPIC EID18处理器本地SAPICEID。
邻近域[31:8]39处理器所属邻近域的位[31:8]。
时钟域41212处理器所属的时钟域。请参阅_CDM(时钟域)。
表 5.49 标志 - 处理器本地APIC/SAPIC 关联结构 字段位长度位偏移描述
------------
已启用10如果清除,OSPM将忽略处理器本地APIC/SAPIC关联结构的内容。这允许系统固件用静态数量的结构填充SRAT,但仅在必要时启用它们。
保留311必须为零。

5.2.16.2. 内存亲和结构

内存关联结构向操作系统静态提供以下拓扑信息:

  • 内存范围与其所属的邻近域之间的关联

  • 有关内存范围是否可以热插拔的信息。

请参阅下表了解更多详细信息。

表 5.50 内存亲和结构 字段字节长度字节偏移描述
类型101 内存亲和结构
长度1140
邻近域42表示内存范围所属的邻近域的整数。
保留26保留
基地址低48内存范围基地址的低 32 位
基地址高41212内存范围基址的高 32 位
长度低41616内存范围长度的低 32 位。
长度高420内存范围长度的高 32 位。
保留424保留
旗帜42828标志 - 内存亲和结构。指示该内存区域是否启用且可热插拔。更多详情请参见下表。
保留83232保留
表 5.51 标志 - 内存关联结构 字段位长度位偏移描述
------------
已启用10如果清除,OSPM 将忽略内存关联结构的内容。这允许系统固件用静态数量的结构填充SRAT,但仅在必要时启用。
热插拔11该位传达的信息取决于启用位的值。如果启用位已设置并且热插拔位也已设置。系统硬件支持该内存区域的热添加和热移除 如果Enabled位被置位且Hot Pluggable位被清零,则系统硬件不支持该内存区域的热添加或热移除。如果启用位清零,OSPM 将忽略内存关联结构的内容
非易失性12如果设置,内存区域代表非易失性内存
保留2929 3必须为零。

5.2.16.3. 处理器本地 x2APIC 亲和结构

处理器本地 x2APIC 关联结构提供处理器的本地 x2APICID与该处理器所属的邻近域之间的关联。第 5.2.16.3 节提供了处理器本地 x2APIC 关联结构的详细信息。

表 5.52 处理器本地 x2APIC 关联结构 字段字节长度字节偏移描述
类型102 处理器本地 x2APIC 亲和结构
长度1124
保留22保留 - 必须为零
邻近域44逻辑处理器所属的邻近域。
X2APIC ID48处理器本地 x2APICID。
旗帜41212与处理器本地APIC/SAPIC 关联结构标志相同。有关该字段的说明,请参阅下表相应的内容。
时钟域41616逻辑处理器所属的时钟域。请参阅_CDM(时钟域)。
保留420预订的。

在基于 x86 的平台上,OSPM使用热插拔位来确定是否应切换到PAE模式,以允许插入物理地址超过 4 个GB的热插拔内存。

5.2.16.4. GICC 亲和结构

GICC关联结构提供处理器的ACPI处理器UID与该处理器所属的邻近域之间的关联。第 5.2.16.4 节提供了GICC亲和结构的详细信息。

表 5.53 GICC 关联结构 字段字节长度字节偏移描述
类型103GICC 关联结构。
长度1118
邻近域42逻辑处理器所属的邻近域。
ACPI 处理器 UID46关联GICC的ACPI处理器UID。
旗帜41010标志 - GICC 关联结构。有关该字段的说明,请参阅下表相应的内容。
时钟域41414逻辑处理器所属的时钟域。请参阅_CDM(时钟域)。
表 5.54 标志 - GICC 关联结构 字段位长度位偏移描述
------------
已启用10如果清除,OSPM将忽略GICC关联结构的内容。这允许系统固件用静态数量的结构填充SRAT,但仅在必要时启用它们。
保留311必须为零。

5.2.16.5. GIC 中断翻译服务 (ITS) 关联结构

GIC、ITS关联结构提供GIC、ITS与邻近域之间的关联。这使得OSPM能够发现最接近ITS的内存,并使用它来分配其管理表和命令队列。 ITS使用与MADT中的GIC、ITS声明相匹配的ID来标识,详细信息请参见第 5.2.12.18 节。下表提供了GICITS关联结构的详细信息。

表 5.55 架构特定的亲和结构 字段字节长度字节偏移描述
类型104GICITS亲和结构
长度1112
邻近域42表示GIC、ITS所属邻近域的整数。
保留26保留必须为零
ITS ID48ITS ID 与 MADT 中的 GIC ITS 条目匹配

5.2.16.6. 通用发起者亲和结构

通用发起者关联结构提供通用发起者和该发起者所属的邻近域之间的关联。详细信息请参见第 5.2.16.6 节。

OSPM对通用发起者关联结构的支持是可选的,平台可以通过_OSC方法查询OS是否支持。请参阅第 6.2.11.2 节。

表 5.56 通用发起者亲和结构 字段字节长度字节偏移描述
类型105 通用发起者结构。
长度1132
保留12保留且必须为零。
设备句柄类型13设备句柄类型:0 - ACPI 设备句柄 1 - PCI 设备句柄 2-255 - 保留
邻近域44通用发起者所属的邻近域。
设备句柄1616 8通用发起者的设备句柄。有关 ACPI 设备句柄的说明,请参阅“设备句柄 - ACPI”;有关 PCI 设备句柄的说明,请参阅“设备句柄 - PCI”。
旗帜424标志 - 通用发起者关联结构。有关该字段的说明,请参阅下表相应的内容。
保留42828保留且必须为零。
表 5.57 设备句柄 - ACPI 字段字节长度字节偏移描述
------------
ACPI _HID80_HID 值
ACPI _UID48_UID 值
保留41212必须为零。
表 5.58 设备句柄 - PCI 字段字节长度字节偏移描述
------------
PCI 段20PCI 段号。对于少于 255 个PCI总线的系统,该数字必须为 0。
PCI BDF 数量22PCI 总线编号(字节 2 的位 7:0) PCI 设备编号(字节 3 的位 7:3) PCI 功能编号(字节 3 的位 2:0)
保留1212 4必须为零
表 5.59 标志 - 通用发起者关联结构 字段位长度位偏移描述
------------
已启用10如果清零,OSPM 将忽略通用发起者关联结构的内容。这允许系统固件以固定数量的结构填充 SRAT,并仅在需要时启用。
架构事务11如果置位,则表示通用发起者可以在与主机相同的架构级别发起所有事务(例如完整的原子操作、缓存一致性、虚拟内存等)。请参阅实现注意事项。
保留302必须为零。

注意事项

如果具有一致内存的通用设备连接到系统,建议为设备和与设备关联的内存定义关联结构。它们都可以具有相同的邻近域。

如果通用设备标记为“架构事务”,则该通用发起者支持所有适用的缓存同步、原子操作和虚拟内存等架构机制,等效于主机处理器的内存模型(其 ISA 中可能采用不同但等效的指令机制)。

仅当缺乏该功能不会对内存模型产生重大影响时,才允许支持架构事务的子集。一个例子是,如果GI没有任何需要通过数据结构失效的全局内存本地缓存,GI上缺乏缓存一致性支持。

OS 确保 GI 遵循内存模型,作为与内存栅栏的可观察事务相关的主机处理器架构以及在启动器或主机上发出的其他同步操作。

Prev
5.2.15. 嵌入式控制器启动资源表 (ECDT)
Next
5.2.17. 系统局部性信息表 (SLIT)