PEP_PROCESSOR_IDLE_STATE_V2结构(pepfx.h)
PEP_PROCESSOR_IDLE_STATE_V2 结构描述平台扩展插件(PEP)支持的处理器空闲状态。
语法
typedef struct _PEP_PROCESSOR_IDLE_STATE_V2 {
union {
ULONG Ulong;
struct {
ULONG Interruptible : 1;
ULONG CacheCoherent : 1;
ULONG ThreadContextRetained : 1;
ULONG CStateType : 4;
ULONG WakesSpuriously : 1;
ULONG PlatformOnly : 1;
ULONG Autonomous : 1;
ULONG Reserved : 22;
};
};
ULONG Latency;
ULONG BreakEvenDuration;
} PEP_PROCESSOR_IDLE_STATE_V2, *PPEP_PROCESSOR_IDLE_STATE_V2;
成员
Ulong
将访问的位和状态字段标记为单个 32 位无符号整数值。
Interruptible
当处于此空闲状态时,处理器是否可以响应中断。 如果处理器可以响应中断,请将此标志位设置为 1;如果无法响应,则设置为 0。
CacheCoherent
处理器的本地缓存或缓存是否在此处理器空闲状态的持续时间内保持一致。 如果缓存一致性处于此空闲状态,请将此标志位设置为 1,如果不是,则设置为 0。
ThreadContextRetained
线程上下文是否保留在此处理器空闲状态。 如果处理器硬件在空闲转换中保留线程上下文,请将此标志位设置为 1。 如果处理器使用多处理器停车协议退出空闲状态并将控制权返回到作系统,则设置为 0。 有关此协议的详细信息,请参阅 ACPI 组件体系结构站点中标题 为 ARM 平台的多处理器启动 的文档。
CStateType
处理器空闲状态的 C 状态类型。 如果此空闲状态不对应于 ACPI 定义的 C 状态,请将此位字段设置为零。 否则,请将此位字段设置为 C 状态号。 也就是说,为 C1 设置 CStateType = 1
、为 C2 设置 CStateType = 2
等。 有关 C 状态的详细信息,请参阅 ACPI 5.0 规范的第 8.1 节“处理器电源状态”。
WakesSpuriously
处理器是否可以在此空闲状态下以虚假状态唤醒。 如果保证处理器处于此空闲状态,请将此标志位设置为 0,直到它收到设备中断、处理器间中断(PI)或唤醒请求。 如果处理器出于其他某种原因可能自主唤醒,则设置为 1。
PlatformOnly
转换到此处理器空闲状态是否只能作为协调转换到平台范围的空闲状态的一部分执行。 如果处理器空闲状态转换只能作为过渡到平台空闲状态的一部分执行,请将此标志位设置为 1。 否则,设置为 0。
Autonomous
处理器硬件是否自主执行到此处理器空闲状态的协调转换。 如果这些转换是自治的,请将此标志位设置为 1;如果它们不是,则设置为 0。 标志值为 1 表示可以在不发送 PEP_NOTIFY_PPM_TEST_IDLE_STATE、PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE或 PEP_NOTIFY_PPM_IDLE_COMPLETE 通知的情况下输入空闲状态。 仅当 CStateType 为非零时,才能将此标志设置为 1。
Reserved
保留以供将来使用。 设置为零。
Latency
最差的延迟(以 100 纳秒为单位)要求处理器从此空闲状态唤醒,以响应唤醒事件。
BreakEvenDuration
在 100 纳秒单位中指定的最小时间量,处理器必须花费在此空闲状态才能转换为值得的此状态。 Windows 电源管理框架(PoFx)将此成员值用作提示,以避免将处理器切换到空闲状态,除非处理器可能保持此状态至少 BreakEvenDuration指定的时间。
言论
此结构与 PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 通知结合使用。 PEP_PPM_QUERY_IDLE_STATES_V2 结构的 IdleStates 成员是 PEP_PROCESSOR_IDLE_STATE_V2 结构数组中的第一个元素。
未命名的联合包含一组标志位和状态字段,这些字段可以单独作为位字段访问,也可以作为 32 位无符号整数值一起访问。
未命名的结构包含作为单个位字段访问的标志位和状态字段。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 10 开始支持。 |
标头 | pepfx.h (include Pep_x.h) |