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
  • 第 14 章

    • 总览
    • 14.1. 平台通信通道表
    • 14.2. 通用通信通道共享内存区域
    • 14.3. 扩展 PCC 子空间共享内存区域
    • 14.4. 精简 PCC 子空间共享内存区域
    • 14.5. 门铃协议
    • 14.6. 平台通知
    • 14.7. 引用 PCC 地址空间

14.6. 平台通知

以下各节描述 0-2 类型子空间和 3-4 类型子空间上的平台通知。

14.6.1. 0、1 和 2 类型子空间的平台通知

门铃协议是 OSPM 向平台发出的同步通知,用于处理命令。如果平台希望异步地将事件通知 OSPM,则它可以设置平台中断和平台通知状态位,并发出平台中断。OSPM 将处理中断,清除平台中断和平台通知位,并处理平台通知。平台通知的含义以及处理它所需的步骤由使用 PCC 接口的各个组件定义。

平台必须等待,直到 OSPM 发出一个由使用方定义的命令,以通知平台 OSPM 已准备好处理平台通知。该命令是子空间特定的,并且可能不是所有子空间都支持。平台通知必须与中断结合使用。不支持通过轮询来检测平台通知。

平台在发出平台通知时,不得修改除状态字段之外的共享内存区域的任何部分。

0、1 和 2 类型子空间的平台通知将在规范的未来修订版中弃用。要求平台能够向 OSPM 发送异步通知的实现者应使用主/从子空间。

注意:共享子空间的双方对状态字段的所有访问都必须使用互锁操作。作为未来规范修订中弃用平台异步通知的一部分,该要求将针对 0 到 2 类型子空间被移除。

14.6.2. 从属 PCC 子空间(4 类型)的平台通知

主子空间只允许从 OSPM 到平台的同步通信,并且不使用为 0 到 2 类型子空间提供的平台通知机制。相反,主子空间可以与一个从属子空间(4 类型)配对,后者专门用于从平台到 OSPM 的通信。

../_images/Platform_Comm_Channel-3.png

图 14.2 从属子空间上通知的通信流程

与 3 类型主子空间类似,4 类型从属子空间包括一个命令完成位。从属子空间默认由 OSPM 拥有,因此当它准备好接收来自平台的通知时,必须设置该命令完成位。

通知的通信流程如上图“从属子空间上通知的通信流程”所示。可以看到,通信流程与上图“门铃协议的通信流程”中所示的主子空间通信流程非常相似,只是平台和 OSPM 的角色相反。步骤如下:

  1. 首先,平台检查子空间上是否没有待完成的命令,以表明该子空间可供使用。这通过检查子空间状态字段中的命令完成位是否已置位来完成。如果该位已置位,则子空间可供使用,并且与该子空间关联的共享内存由平台独占拥有。

  2. 平台将一个通知命令放入子空间中的共享内存中,更新标志、长度、命令和载荷字段(见主从通信通道共享内存区域)。平台可以通过在标志中设置生成信号位来请求 OSPM 在完成处理通知命令后鸣响门铃(见表 14.13)。

  3. 然后平台清除命令完成位。这会将共享内存的所有权转移给 OSPM。

  4. 平台触发由从属子空间 GSIV 指示的平台中断。

当 OSPM 接收到该中断时,它执行以下步骤:

  1. 清除平台中断。如果该中断通过平台中断标志被描述为电平触发,并且子空间 PCCT 条目提供了平台中断确认寄存器地址及相关掩码,则需要执行此操作(见表 14.7)。

  2. 可以选择性地检查命令完成位是否为清零状态。

  3. 处理通知命令。

  4. 使用命令完成更新寄存器和掩码设置命令完成位。

  5. 鸣响门铃。如果平台在上面的步骤 2 中请求了门铃鸣响,则需要执行此操作。这还要求子空间的 PCCT 条目具有非零的门铃寄存器地址。

平台可以通过轮询命令完成位,或者在支持的情况下通过接收来自 OSPM 的门铃中断,来检查通知是否已被 OSPM 处理。当平台检测到通知已被 OSPM 处理时,平台执行以下步骤:

  1. 如果使用轮询,则检查命令完成是否已置位。如果使用门铃,则此步骤是可选的。

  2. 处理命令响应

平台必须确保步骤 2 中的任何写入,在步骤 3 的写入之前对 OSPM 应用处理器可见。类似地,OSPM 必须确保步骤 7 中的任何写入在步骤 8 完成之前对平台可见。

使用 PCC 的各个协议定义通知的含义。

Prev
14.5. 门铃协议
Next
14.7. 引用 PCC 地址空间