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.20. ACPI RAS 功能表 (RASF)

下表描述了ACPIRAS功能表的结构。

表 5.65 RASF 表格式 字段字节长度字节偏移描述
标题
- 签名40“RASF”是RAS 功能表的签名
- 长度44整个RASF 的长度(以字节为单位)。长度表示表末尾的 Entry 字段的数量
- 修订181
- 校验和19整个表的总和必须为零
- OEMID61010 OEM ID
- OEM 表 ID81616表ID是制造商型号ID
- OEM 修订424OEM 所提供表格的修订版 OEM 表 ID
- 创建者ID42828创建该表的实用程序的供应商ID
- 创建者修订43232修改创建表的实用程序
RASF 特定条目
- RASF 平台通信通道标识符1212 3636 RASF平台通信通道的标识符。 OSPM 应使用该值来标识 RASF 表中的 PCC 子通道结构

5.2.20.1. RASF PCC 子通道标识符

RASF PCC 子通道标识符由OSPM 用于标识PCC 子通道结构。 RASF 表通过此标识符引用其PCC 子空间,如表 5.65 所示。

5.2.20.2. 使用 PCC 寄存器

OSPM 将写入PCC 寄存器,方法是将寄存器值填入PCC 子通道空间并发出PCC 执行命令。参见表 5.67。

为了最大限度地降低PCC事务的成本,OSPM应通过单个读或写命令读取或写入同一PCC子空间中的所有寄存器。

5.2.20.3. RASF 通信通道

RASF 操作条目在PCC 子通道中定义如下。

表 5.66 RASF 平台通信通道共享内存区域 字段字节长度字节偏移描述
签名400x52415346 的PCC签名(对应于RASF的ASCII签名)
命令24PCC 命令字段;请参阅PCC、RASF平台通信通道使用的命令代码以及“平台通信通道”(PCC)。
状态26PCC 状态字段。请参阅平台通信通道 (PCC)。
交流空间:
  • 版本

| 2 | 8 |字节 0 - 次要版本 |字节 1 - 主要版本

  • RAS 能力

| 16 | 16 10 | 10描述平台RAS功能的位图,如平台RAS功能中所示。平台填充此字段。 OSPM使用此字段来确定平台的RAS功能。

  • 设置RAS 功能

| 16 | 16 26 | 26 OSPM 为其调用命令的 RAS 功能的位图。位图在第 5.2.20.4 节中描述。 OSPM设置与RAS功能相对应的位,以调用该功能上的命令。位图实现允许OSPM同时调用平台支持的每个RAS功能上的命令。

  • RASF 参数块的数量

| 2 | 42 | 42参数块的数量取决于平台支持的RAS功能数量。通常,每个RAS功能都有一个参数块,OSPM可以使用该参数块来管理该功能。

  • 设置RAS 能力状态

| 4 | 44 | 44状态:

0000b = Success
0001b = Not Valid
0010b = Not Supported
0011b = Busy
0100b = FailedF
0101b = Aborted
0110b = Invalid Data
  • 参数块

|变化(N 字节)| 48 | 48参数块的开始,其结构如PATROL_SCRUB的参数块结构所示。这些参数块用作OSPM与平台之间的通信邮箱,每个RAS功能有1个参数块。 NOTE:每种类型只能有一个参数块。

表 5.67 PCC RASF 平台通信通道使用的命令代码 命令描述
0x000x00保留
0x010x01执行RASF命令。
0x02-0xFF0x02-0xFF

5.2.20.4. 平台RAS 功能

下表定义了平台RAS功能:

表 5.68 平台RAS 功能位图 位RAS 功能描述
0支持基于硬件的巡检擦洗表示平台支持基于硬件的DRAM内存巡检清理
1基于硬件的巡检清理支持并暴露于软件表示平台支持基于硬件的DRAM内存巡检清理,并且平台使用此RASF机制向软件公开此功能
2-1272-127 保留保留供将来使用

5.2.20.5. 参数块

下表描述了参数块。该结构体用于传递控制相应RAS功能的参数。

每个RAS功能都分配有一个TYPE编号,它是表 5.68 中描述的RAS功能位图的位索引。

表 5.69 PATROL_SCRUB 的参数块结构 字段字节长度字节偏移描述
类型200x0000 - 巡逻擦洗
版本22字节 0 - 次要版本
长度24整个参数块结构的长度(以字节为单位)
巡逻擦洗命令 (INPUT)260x01 - GET_PATROL_PARAMETERS 0x02 - START_PATROL_SCRUBBER 0x03 - STOP_PATROL_SCRUBBER
请求的地址范围(INPUT)1616 8OSPM 指定要巡检的地址范围的BASE(字节7-0)和SIZE(字节15-8)。 OSPM 为以下命令设置此参数:GET_PATROL_PARAMETERS 和 START_PATROL_SCRUBBER
实际地址范围 (OUTPUT)1616 24平台返回该值以响应GET_PATROL_PARAMETERS。平台从可以开始的地方计算最近的巡逻擦洗边界地址。该范围应该是请求地址范围的超集。地址的BASE(字节7-0)和SIZE(字节15-8)
旗帜 (OUTPUT)240平台返回此值以响应GET_PATROL_PARAMETERS: 位 [0]:如果巡检洗涤器已在“实际地址范围”中指定的地址范围运行,则将被设置 位 [3:1]:当前巡检速度,如果设置了位 [0]: 000b - 慢速 100b - 中速 111b - 快速 所有其他组合均保留。位[15:4]:RESERVED
请求的速度 (INPUT)14242 OSPM 对于 START_PATROL_SCRUBBER 命令,对该字段的设置如下: 位 [0]:如果巡检洗涤器已在“实际地址范围”中指定的地址范围内运行,则将被设置 位 [2:0]:请求的巡检速度 000b - 慢速 100b - 中速 111b - 快 所有其他组合均保留。位[7:3]:RESERVED

5.2.20.5.1. 操作顺序:

以下序列记录了OSPM的步骤,用于识别平台是否支持基于硬件的巡检清理,并调用命令来请求硬件巡检清理指定的地址范围。

  1. 确定平台是否支持基于硬件的巡检清理,并通过读取RASF表中的RAS功能位图来向软件提供支持。

  2. 通过设置请求的地址范围来调用GET_PATROL_PARAMETERS。

  3. 平台返回实际地址范围和标志。

  4. 根据以上两个数据,如果 OSPM 决定启动巡检洗涤器或更改巡检洗涤器的速度,则 OSPM 通过设置“请求地址范围”和“请求速度”来调用 START_PATROL_SCRUBBER。

Prev
5.2.19. 最大系统特性表 (MSCT)
Next
5.2.21. 内存电源状态表 (MPST)