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

    • 总览
    • 7.1. 电源资源对象与电源管理模型
    • 7.2. 声明电源资源对象
    • 7.3. 设备电源管理对象
    • 7.4. OEM 提供的系统级控制方法
    • 7.5. OSPM 对 _PTS、_TTS 和 _WAK 的使用

7.3. 设备电源管理对象

对于使用 ACPI 进行电源管理的设备,定义块包含下表中的一个或多个对象。设备的电源管理通过电源资源控制来完成。

电源资源是可由多个设备共享的资源。操作软件将通过确定在任意给定时间哪些特定电源资源需要处于 ON 状态,来自动处理这些设备的控制。此确定是通过考虑连接到某个电源资源的所有设备的状态来做出的。在任何时候,OSPM 都会确保系统中任何设备不再引用的任何电源资源处于 OFF 状态。

对于那些不通过电源资源管理来控制设备电源状态(即由 _PSx 控制电源转换)但其设备支持多个 D 状态的系统,OS 需要更多信息来确定该设备的 S 状态到 D 状态映射。ACPI 固件可通过 _SxD 方法将此信息提供给 OSPM。这些方法告诉 OSPM,对于 S 状态“x”,设备支持的最浅 D 状态是“y”。对于给定的 S 状态,OSPM 可以选择更深的 D 状态,但 OSPM 不允许选择比给定 D 状态更浅的状态。

适用于设备电源管理对象的附加规则有:

  • 设备不能处于比其父设备更深的 D 状态。

  • 如果存在将设备设置为 D0 的 ACPI 对象(无论是通过 _PSx 还是 _PRx 对象),则还必须声明将设备设置为更深 Dx 的相应对象,反之亦然。

  • 如果存在任何控制电源的 ACPI 对象(_PSx 或 _PRx,其中 x = 0、1、2 或 3),则必须至少存在将设备设置为 D0 和 D3 设备状态的方法。

  • 如果为设备声明了 _PSx 和 _PRx 方法的混合,则通过 _PSx 方法支持的设备状态必须与通过 _PRx 方法支持的设备状态完全相同。

在控制那些必须在系统睡眠状态期间唤醒系统的设备电源时:

  • 设备必须通过声明 _PRW 或 _PSW 对象之一来声明其唤醒系统的能力。

  • 在 OSPM 调用 _PTS 之后,它必须调用设备的 _PSW 以启用唤醒。

  • OSPM 必须将设备转换到一个 D 状态,该状态要深于或等于设备的 _SxD 对象(如果存在)所指定的状态,以便能够进入 Sx,但又要浅于或等于设备的 _SxW 对象所指定的状态,以便它仍然能够唤醒系统。

  • OSPM 可以将系统转换到指定的睡眠状态。

表 7.3 设备电源管理子对象

对象说明
_DSW启用或禁用设备仅设备唤醒功能的控制方法。
_PS0将设备置于 D0 设备状态(设备完全开启)的控制方法。
_PS1将设备置于 D1 设备状态的控制方法。
_PS2将设备置于 D2 设备状态的控制方法。
_PS3将设备置于 D3 设备状态(设备关闭)的控制方法。
_PSC求值为设备当前电源状态的对象。
_PR0求值为设备在 D0 设备状态(设备完全开启)下的电源需求的对象。
_PR1求值为设备在 D1 设备状态下的电源需求的对象。只有那些根据相关设备类别能够达到已定义 D1 设备状态的设备才提供此级别。
_PR2求值为设备在 D2 设备状态下的电源需求的对象。只有那些根据相关设备类别能够达到已定义 D2 设备状态的设备才提供此级别。
_PR3求值为设备在 D3hot 设备状态下的电源需求的对象。
_PRW求值为设备为了从系统睡眠状态唤醒系统所需电源需求的对象。
_PSW启用或禁用设备唤醒功能的控制方法。
_IRC表示设备具有显著浪涌电流需求的对象。
_S1D设备在 S1 状态下支持的最浅 D 状态
_S2D设备在 S2 状态下支持的最浅 D 状态
_S3D设备在 S3 状态下支持的最浅 D 状态
_S4D设备在 S4 状态下支持的最浅 D 状态
_S0W设备在 S0 状态下支持的、能够唤醒设备的最深 D 状态
_S1W设备在 S1 状态下支持的、能够唤醒系统的最深 D 状态。
_S2W设备在 S2 状态下支持的、能够唤醒系统的最深 D 状态。
_S3W设备在 S3 状态下支持的、能够唤醒系统的最深 D 状态。
_S4W设备在 S4 状态下支持的、能够唤醒系统的最深 D 状态。
_RST执行设备功能级复位的控制方法。
_PRR求值为设备平台级复位需求的对象。

7.3.1. _DSW(设备睡眠唤醒)

除 _PRW 之外,还可以使用此控制方法来启用或禁用设备唤醒睡眠系统的能力。此控制方法只能访问以下 Operation Region:要么是在系统工作状态期间始终可用的,要么是在 _PRW 对象引用的电源资源均处于 ON 时可用的。例如,不要将总线控制器的电源平面控制放在位于该总线后面的配置空间中。该方法应仅针对 OSPM 传入的最后一个系统状态/设备状态组合启用设备。OSPM 只会传入 _SxD 和 _SxW 对象所允许的组合。

提供给 _DSW 的参数指示设备最终将被转换到的设备状态以及系统最终将被转换到的系统状态。目标系统状态允许是系统工作状态(S0)。_DSW 方法将在设备被置于指定状态之前运行,也会在系统被置于指定系统状态之前运行。

兼容性说明:_PSW 方法在 ACPI 3.0 中已弃用。应改用 _DSW 方法。只有当 OSPM 不支持 _DSW 或 _DSW 方法不存在时,OSPM 才会使用 _PSW 方法。

参数(3):

  • Arg0 - 一个包含设备唤醒能力控制的整数

    • 0 - 禁用设备的唤醒能力

    • 1 - 启用设备的唤醒能力

  • Arg1 - 一个包含目标系统状态(0-4)的整数

  • Arg2 - 一个包含目标设备状态的整数

    • 0 - 设备将保持在 D0 状态

    • 1 - 设备将被置于 D0 或 D1 状态

    • 2 - 设备将被置于 D0、D1 或 D2 状态

    • 3 - 设备将被置于 D0、D1、D2 或 D3 状态

返回值:

无

7.3.2. _PS0(电源状态 0)

此控制方法用于将特定设备置于其 D0 状态。此控制方法只能访问以下 Operation Region:要么是在系统工作状态期间始终可用的,要么是在 _PR0 对象引用的电源资源均处于 ON 时可用的。

参数:

无

返回值:

无

7.3.3. _PS1(电源状态 1)

此控制方法用于将特定设备置于其 D1 状态。此控制方法只能访问以下 Operation Region:要么是在系统工作状态(S0)期间始终可用的,要么是在 _PR0 对象引用的电源资源均处于 ON 时可用的。

参数:

无

返回值:

无

7.3.4. _PS2(电源状态 2)

此控制方法用于将特定设备置于其 D2 状态。此控制方法只能访问以下 Operation Region:要么是在系统工作状态(S0)期间始终可用的,要么是在 _PR0 和 _PR1 对象引用的电源资源均处于 ON 时可用的。

参数:

无

返回值:

无

7.3.5. _PS3(电源状态 3)

此控制方法用于将特定设备置于其 D3 状态。此控制方法只能访问以下 Operation Region:要么是在系统工作状态(S0)期间始终可用的,要么是在 _PR0、_PR1 和 PR2 对象引用的电源资源均处于 ON 时可用的。

参数:

无

返回值:

无

7.3.6. _PSC(当前电源状态)

此控制方法求值为当前设备状态。如果可以从电源资源设置中推断出设备状态,则不要求提供此控制方法。当设备不需要 _PS0、_PS1、_PS2 或 _PS3 控制方法时,即属于这种情况。

参数:

无

返回值:

一个包含当前设备状态代码的整数。设备状态代码见下表。

表 7.4 PSC 设备状态代码

0D0
1D1
2D2
3D3

7.3.7. _PSE(用于枚举的电源状态)

此控制方法用于将设备置于适合由其父总线进行枚举的加电模式。此控制方法只能访问以下 Operation Region:要么是在系统工作状态期间始终可用的,要么是在 _PRE 对象引用的电源资源均处于 ON 时可用的。

参数:

Arg1 - 一个整数,指示枚举电源已经被转为 ON 还是将被转为 OFF:

  • 0 - OFF

  • 1 - ON

返回值:

无

7.3.8. _PR0(用于 D0 的电源资源)

此对象求值为当该设备在 D0 状态下运行时其所依赖的电源资源列表。为了使 OSPM 将设备置于 D0 设备状态,必须按以下顺序发生:

  1. 元素 1 到 N 所引用的所有 Power Resource 都必须处于 ON 状态。

  2. 系统中任何设备都不再引用的所有 Power Resource 都必须处于 OFF 状态。

  3. 如果存在,则执行 _PS0 控制方法以将设备设置为 D0 设备状态。

参数:

无

返回值:

一个可变长度的 Package,其中包含对 Power Resource 的引用列表。

此对象返回一个如下定义的 Package:

表 7.5 Power Resource 需求 Package

元素对象描述
1对象引用对所需 Power Resource #0 的引用
N对象引用对所需 Power Resource #N 的引用

_PR0 每次求值时都必须返回相同的数据。所有被引用的 Power Resource 都必须存在于命名空间中。

7.3.9. _PR1(用于 D1 的 Power Resource)

当设备处于 D1 状态时,此对象求值为该设备所依赖的 Power Resource 列表。为了使 OSPM 将设备从 D0 状态转换到 D1 状态,必须按顺序执行以下操作:

  1. 如果存在,则执行 _PS1 控制方法以将设备设置为 D1 设备状态。

  2. 元素 1 到 N 所引用的所有 Power Resource 都必须处于 ON 状态。

  3. 系统中任何设备都不再引用的所有 Power Resource 都必须处于 OFF 状态。

参数:

无

返回值:

一个可变长度的 Package,其中包含对 Power Resource 的引用列表。

此对象求值为 Power Resource 需求 Package 中定义的 Package。

_PR1 每次求值时都必须返回相同的数据。所有被引用的 Power Resource 都必须存在于命名空间中。

7.3.10. _PR2(用于 D2 的 Power Resource)

当设备处于 D2 状态时,此对象求值为该设备所依赖的 Power Resource 列表。为了使 OSPM 将设备转换到 D2 状态,必须按顺序执行以下操作:

  1. 如果存在,则执行 _PS2 控制方法以将设备设置为 D2 设备状态。

  2. 元素 1 到 N 所引用的所有 Power Resource 都必须处于 ON 状态。

  3. 系统中任何设备都不再引用的所有 Power Resource 都必须处于 OFF 状态。

参数:

无

返回值:

一个可变长度的 Package,其中包含对 Power Resource 的引用列表。

_PR2 每次求值时都必须返回相同的数据。所有被引用的 Power Resource 都必须存在于命名空间中。

7.3.11. _PR3(用于 D3hot 的 Power Resource)

当设备处于 D3hot 状态时,此对象求值为该设备所依赖的 Power Resource 列表。为了使 OSPM 将设备转换到 D3hot 状态,必须按顺序执行以下操作:

  1. 如果存在,则执行 _PS3 控制方法以将设备设置为 D3hot 设备状态。

  2. 元素 1 到 N 所引用的所有 Power Resource 都必须处于 ON 状态。

  3. 系统中任何设备都不再引用的所有 Power Resource 都必须处于 OFF 状态。

参数:

无

返回值:

一个可变长度的 Package,其中包含对 Power Resource 的引用列表。

_PR3 每次求值时都必须返回相同的数据。所有被引用的 Power Resource 都必须存在于命名空间中。

_PR3 与进入 D3/D3hot 之间的交互(仅在平台与 OSPM 已通过 _OSC 完成必要握手时适用):

  • 平台/驱动程序必须假定,当设备通过 _PS3 被置于“D3”时,该设备将被完全断电

  • 是否使用 D3 或 D3hot 由 OSPM 决定。如果设备存在 _PR3,则在执行 _PS3 后,是否让这些 Power Resource 保持开启或关闭由 OSPM 决定。该决定可以基于其他因素(例如,是否已被设置为可唤醒)。

7.3.12. _PRE(用于枚举的 Power Resource)

此对象出现在某个设备之下,求值为其父总线在枚举该设备时所需的 Power Resource 列表。为了使总线驱动程序能够在设备处于 D3Cold 设备状态时枚举任何设备,OSPM 必须确保按以下方式执行:

  1. 元素 1 到 N 所引用的所有 Power Resource 都必须处于 ON 状态。

  2. 如果存在,则执行 _PSE 控制方法以对设备执行任何操作,使其可被枚举访问。

参数:

无

返回值:

一个可变长度的 Package,其中包含对 Power Resource 的引用列表。

_PRE 每次求值时都必须返回相同的数据。所有被引用的 Power Resource 都必须存在于命名空间中。

7.3.13. _PRW(用于唤醒的 Power Resource)

此对象求值为该设备为实现唤醒所依赖的 Power Resource 列表。它还包含唤醒所需的附加信息,包括唤醒事件以及睡眠或软关闭状态信息。_PRW 仅对那些能够从系统睡眠状态唤醒系统的设备是必需的。

支持四种通用事件类型:

  • 由 FADT 中描述的 GPE 块定义的 GPE。

  • 由 GPE 块设备定义的 GPE。

  • 由 GPIO 控制器设备的 _AEI 对象定义的 GPIO 信号事件

  • 由通用事件设备(GED)的 _CRS 对象定义的中断信号事件

这四种事件通过返回 Package 中 EventInfo 对象的类型来区分。对于基于 FADT 的 GPE,EventInfo 是一个包含位索引的 Integer。对于基于块设备的 GPE,EventInfo 是一个 Package,其中包含对父块设备的 Reference 以及一个包含位索引的 Integer。对于 GPIO 信号事件,EventInfo 是一个 Package,其中包含对 GPIO 控制器设备的 Reference,以及一个 Integer,该整数包含 _AEI 对象中事件的索引(从零开始)。对于中断信号事件,EventInfo 是一个 Package,其中包含对 GED 的 Reference,以及一个 Integer,该整数包含 _CRS 对象中事件的索引(从零开始)。

对于不支持通过 GPIO 信号事件或中断信号事件进行唤醒的 硬件精简 ACPI 平台,EventInfo 结构是一个值为零的 Integer,并且会被 OSPM 忽略。因此,在这类平台上,仅当唤醒所需的 Power Resource 必须由 OSPM 管理时,才需要 _PRW(例如,_PRW 提供了一个 Power Resource 列表)。相反,要使设备能够唤醒系统,其中断必须具备唤醒能力并由驱动程序启用。参见基于中断的唤醒事件。

参数:

无

返回值:

一个可变长度的 Package,其中包含唤醒信息以及对 Power Resource 的引用列表。

返回值信息

Package {
   EventInfo                      // Integer or Package
   DeepestSleepState              // Integer
   PowerResource [0]              // Reference
   . . .
   PowerResource [n]              // Reference
}

如果 EventInfo 是一个 Package,则它包含如下所述的事件块设备信息:

Package {
   DeviceName                      // Reference
   Index                           // Integer
}

EventInfo 可以是 Integer 或 Package,具体取决于事件类型:

  • 如果它是 Integer,则它包含基于 FADT 的 GPE 使能寄存器中唤醒事件的位索引。

  • 如果它是 Package,则该 Package 包含位于 GPE 块设备、GPIO 控制器设备或 GED 中的事件信息。它包含对该设备的 Reference 和一个 Integer。如果 EventInfo 引用的是 GPE 块设备,则该整数包含基于块设备的 GPE 使能寄存器中唤醒 GPE 的位索引。如果 EventInfo 引用的是 GPIO 控制器设备,则该整数包含 _AEI 对象中事件的从零开始索引。如果 EventInfo 引用的是 GED,则该整数包含 _CRS 对象中事件的从零开始索引。

DeepestSleepState 是一个 Integer,其中包含在仍提供唤醒功能的情况下可以进入的最深系统电源睡眠状态。

PowerResource 0-n 是对所需 Power Resource 对象的 Reference。

附加信息

为了使 OSPM 为该设备正确启用已定义的唤醒能力,必须执行以下操作:

  1. 元素 2 到 N 所引用的所有 Power Resource 都被置于 ON 状态。

a. 如果存在,则执行 _DSW 控制方法以设置设备特定寄存器,从而启用设备的唤醒功能。

b. 正在进入的 D-state 必须深于或等于 _SxD 状态中指定的状态,但又必须浅于或等于 _SxW 状态中指定的状态。

然后,如果系统进入睡眠状态,OSPM 必须确保:

  1. 中断被禁用。

  2. 正在进入的睡眠状态必须小于或等于 _PRW 对象元素 1 中声明的电源状态。

  3. 正确的通用寄存器位已启用。

所指定的系统睡眠状态必须是系统支持的状态(换句话说,命名空间中必须存在相应的 \_Sx 对象)。

_PRW 每次求值时都必须返回相同的数据。所有被引用的 Power Resource 都必须存在于命名空间中。

7.3.14. _PSW(电源状态唤醒)

除了 _PRW 控制方法之外,此控制方法还可用于启用或禁用设备唤醒处于睡眠状态系统的能力。此控制方法只能访问以下 Operation Region:要么是在系统工作状态下始终可用的,要么是在 _PRW 对象所引用的 Power Resource 全部处于 ON 时可用的。例如,不要将总线控制器的电源平面控制放在位于该总线之后的配置空间中。

注意

关于兼容性——_PSW 方法在 ACPI 3.0 中已被弃用。如果存在 _DSW,OSPM 必须使用 _DSW。否则,它可以使用 _PSW。

参数:(1)

Arg0 - 一个 Integer,包含唤醒能力控制:

0 - 禁用设备的唤醒能力

1 - 启用设备的唤醒能力

返回值

无

7.3.15. _IRC(浪涌电流)

指示当该设备转换到 D0 状态时,可能会产生显著的浪涌电流。

参数:

无

返回值:

无

此对象的存在表示,将该设备转换到其 D0 状态会导致系统级显著的浪涌电流负载。一般来说,这类操作需要串行化,从而避免同时尝试多个操作。在 ACPI 中,这种串行化可以通过设备的 Power Resource 的 ResourceOrder 参数来实现;但是,这并不能将 ACPI 控制的设备与非 ACPI 控制的设备串行化。_IRC 用于在 OSPM 之外向 OSPM 表示这一事实,以便 OSPM 可以对系统中所有具有浪涌电流串行化要求的设备进行串行化。

OSPM 在任一时刻只能将其设备作用域中包含 _IRC 对象的一个设备转换到 D0 状态。

需要特别注意的是,OSPM 不会对 _IRC 对象求值。它没有定义的输入参数,也不返回任何值。OSPM 仅从 _IRC 对象的存在这一事实中得出其含义。

7.3.16. _S1D(S1 设备状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S1 系统睡眠状态下所支持的最浅 D 状态。_S1D 每次求值时都必须返回相同的整数。此值将覆盖 OSPM 可能从设备电源资源声明中确定的 S 状态到 D 状态映射。有关有效返回值,请参见 PSC 设备状态代码。

参数:

无

返回值:

一个 整数,包含在状态 S2 中支持的最浅 D 状态

如果设备能够从 S1 系统睡眠状态唤醒系统(参见 _PRW),则设备必须在此对象返回的 D 状态中支持唤醒。但是,OSPM 不能假定从 S1 系统睡眠状态的唤醒在任何更深的 D 状态中都受支持,除非相应的 _S1W 对象另有指定。下表根据 _S1D、_PRW 和 _S1W 对象(如果存在)返回的值,给出了从期望操作到进入的结果 D 状态的映射。(D/C 表示无关紧要 - 求值无关,N/A 表示不适用 - 对象不存在)。

表 7.6 S1 操作 / 结果表

期望操作_S1D_PRW_S1W结果 D 状态
进入 S1D/CD/CD/C由 OSPM 决定
进入 S1,不唤醒2D/CD/C进入 D2 或 D3
进入 S1,唤醒21N/A进入 D2
进入 S1,唤醒213进入 D2 或 D3
进入 S1,唤醒N/A12进入 D0,D1 或 D2

7.3.17. _S2D (S2 设备状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S2 系统睡眠状态下所支持的最浅 D 状态。_S2D 每次求值时都必须返回相同的整数。此值将覆盖 OSPM 可能从设备电源资源声明中确定的 S 状态到 D 状态映射。有关有效返回值,请参见 PSC 设备状态代码。

参数:

无

返回值:

一个 整数,包含在状态 S2 中支持的最浅 D 状态

如果设备能够从 S2 系统睡眠状态唤醒系统(参见 _PRW),则设备必须在此对象返回的 D 状态中支持唤醒。但是,OSPM 不能假定从 S2 系统睡眠状态的唤醒在任何更深的 D 状态中都受支持,除非相应的 _S2W 对象另有指定。下表根据 _S2D、_PRW 和 _S2W 对象(如果存在)返回的值,给出了从期望操作到进入的结果 D 状态的映射。(D/C 表示无关紧要 - 求值无关,N/A 表示不适用 - 对象不存在)。

表 7.7 S2 操作 / 结果表

期望操作_S2D_PRW_S2W结果 D 状态
进入 S2D/CD/CD/C由 OSPM 决定
进入 S2,不唤醒2D/CD/C进入 D2 或 D3
进入 S2,唤醒22N/A进入 D2
进入 S2,唤醒223进入 D2 或 D3
进入 S2,唤醒N/A22进入 D0,D1 或 D2

7.3.18. _S3D (S3 设备状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S3 系统睡眠状态下所支持的最浅 D-state。_S3D 每次求值时都必须返回相同的整数。此值将覆盖 OSPM 可能从设备电源资源声明中确定的 S-state 到 D-state 映射。有关有效返回值,请参见 PSC 设备状态代码。

参数:

无

返回值:

一个 整数,包含在状态 S3 中支持的最浅 D-state

如果设备能够从 S3 系统睡眠状态唤醒系统(参见 _PRW),则设备必须在此对象返回的 D-state 中支持唤醒。但是,OSPM 不能假定从 S3 系统睡眠状态的唤醒在任何更深的 D-state 中都受支持,除非相应的 _S3W 对象另有指定。下表根据 _S3D、_PRW 和 _S3W 对象(如果存在)返回的值,给出了从期望操作到进入的结果 D-state 的映射。(D/C 表示无关紧要 - 求值无关,N/A 表示不适用 - 对象不存在)。

表 7.8 S3 操作 / 结果表

期望操作_S3D_PRW_S3W结果 D-state
进入 S3N/AD/CN/A由 OSPM 决定
进入 S3,不唤醒2D/CD/C进入 D2 或 D3
进入 S3,唤醒23N/A进入 D2
进入 S3,唤醒233进入 D2 或 D3
进入 S3,唤醒N/A32进入 D0, D1, 或 D2

7.3.19. _S4D (S4 设备状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S4 系统睡眠状态下所支持的最浅 D-state。_S4D 每次求值时都必须返回相同的整数。此值将覆盖 OSPM 可能从设备电源资源声明中确定的 S-state 到 D-state 映射。有关有效返回值,请参见表 7.9。

参数:

无

返回值:

一个 整数,包含在状态 S4 中支持的最浅 D-state。

如果设备能够从 S4 系统睡眠状态唤醒系统(参见 _PRW),则设备必须在此对象返回的 D-state 中支持唤醒。但是,OSPM 不能假定从 S4 系统睡眠状态的唤醒在任何更深的 D-state 中都受支持,除非相应的 _S4W 对象另有指定。下表根据 _S4D、_PRW 和 _S4W 对象(如果存在)返回的值,给出了从期望操作到进入的结果 D-state 的映射。(D/C 表示无关紧要 - 求值无关,N/A 表示不适用 - 对象不存在)。

表 7.9 S4 操作 / 结果表

期望操作_S4D_PRW_S4W结果 D-state
进入 S3N/AD/CN/A由 OSPM 决定
进入 S4,不唤醒2D/CD/C进入 D2 或 D3
进入 S4,唤醒24N/A进入 D2
进入 S4,唤醒243进入 D2 或 D3
进入 S4,唤醒N/A42进入 D0, D1, 或 D2

7.3.20. _S0W (S0 设备唤醒状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S0 系统睡眠状态下支持设备自行唤醒的最深 D-state。

参数:

无

返回值:

一个整数,包含在状态 S0 中支持唤醒的最深 D-state。如果 OSPM 未通过 OSPM 平台范围能力指明其支持 _PR3(参见平台范围 OSPM 能力),则值“3”对应于 D3。如果其已指明支持 _PR3,则值“3”表示 D3hot,值“4”表示 D3cold。

_S0W 每次求值时都必须返回相同的整数。此值使 OSPM 能够选择最深的电源 D-state,同时仍实现唤醒功能。如果对象求值为零,则设备不能从任何更深的 D-state 自行唤醒。

7.3.21. _S1W (S1 设备唤醒状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S1 系统睡眠状态下可唤醒系统的最深 D-state。

参数:

无

返回值:

一个整数,包含在状态 S1 中支持唤醒的最深 D-state。如果 OSPM 未通过 OSPM 平台范围能力指明其支持 _PR3(参见平台范围 OSPM 能力),则值“3”对应于 D3。如果其已指明支持 _PR3,则值“3”表示 D3hot,值“4”表示 D3cold。

_S1W 每次求值时都必须返回相同的整数。此值允许 OSPM 选择比 _S1D 指定的更深的 S-state 到 D-state 映射。如果存在 _S1D,则此值必须始终大于或等于 _S1D。

7.3.22. _S2W (S2 设备唤醒状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S2 系统睡眠状态下可唤醒系统的最深 D-state。

参数:

无

返回值:

一个整数,包含在状态 S2 中支持唤醒的最深 D-state。如果 OSPM 未通过 OSPM 平台范围能力指明其支持 _PR3(参见平台范围 OSPM 能力),则值“3”对应于 D3。如果其已指明支持 _PR3,则值“3”表示 D3hot,值“4”表示 D3cold。

_S2W 每次求值时都必须返回相同的整数。此值允许 OSPM 选择比 _S2D 指定的更深的 S-state 到 D-state 映射。如果存在 _S2D,则此值必须始终大于或等于 _S2D。

7.3.23. _S3W (S3 设备唤醒状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S3 系统睡眠状态下可唤醒系统的最深 D-state。

参数:

无

返回值:

一个整数,包含在状态 S3 中支持唤醒的最深 D-state。如果 OSPM 未通过 OSPM 平台范围能力指明其支持 _PR3(参见平台范围 OSPM 能力),则值“3”对应于 D3。如果其已指明支持 _PR3,则值“3”表示 D3hot,值“4”表示 D3cold。

_S3W 每次求值时都必须返回相同的整数。此值允许 OSPM 选择比 _S3D 指定的更深的 S-state 到 D-state 映射。如果存在 _S3D,则此值必须始终大于或等于 _S3D。

7.3.24. _S4W (S4 设备唤醒状态)

此对象求值为一个整数,该整数向 OSPM 传达此设备在 S4 系统睡眠状态下可唤醒系统的最深 D-state。

参数:

无

返回值:

一个整数,包含在状态 S4 中支持唤醒的最深 D-state。如果 OSPM 未通过 OSPM 平台范围能力指明其支持 _PR3(参见平台范围 OSPM 能力),则值“3”对应于 D3。如果其已指明支持 _PR3,则值“3”表示 D3hot,值“4”表示 D3cold。

_S4W 每次求值时都必须返回相同的整数。此值允许 OSPM 选择比 _S4D 指定的更深的 S-state 到 D-state 映射。如果存在 _S4D,则此值必须始终大于或等于 _S4D。

7.3.25. _RST(设备复位)

此对象对关联的设备或多个设备执行复位。如果包含在设备上下文中,则该复位不得影响任何其他由 ACPI 描述的设备;如果包含在用于复位的电源资源(_PRR)中,则该复位必须影响所有引用它的由 ACPI 描述的设备。

当此对象在设备上下文中描述时,它执行仅影响其所关联设备的功能级复位;父设备和子设备都不应受到此复位执行的影响。执行此对象只能导致该设备复位,而不会使该设备看起来像是已完全从总线上移除,从而防止 OSPM 在支持热插拔的总线(例如 USB)上重新枚举设备。

如果平台支持设备复位,但无法满足功能级和总线要求,则设备应改为实现 _PRR(用于复位的电源资源)。

如果硬件支持,设备可以同时定义 _RST 和 _PRR。

参数:

无

返回值:

无

7.3.26. _PRR(用于复位的电源资源)

此对象求值为对某个电源资源的单个引用。该引用所指向的电源资源必须实现 _RST 方法(_RST(设备复位))。

参数:

无

返回值:

一个包含对电源复位资源的引用的单元素包。

Prev
7.2. 声明电源资源对象
Next
7.4. OEM 提供的系统级控制方法