mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 01:15:09 +00:00
Add PPROCESSOR_IDLE_FUNCTION, fix PROCESSOR_POWER_STATE
and move it from ndk to ntpoapi.h svn path=/trunk/; revision=39598
This commit is contained in:
parent
122c236111
commit
a39829c012
2 changed files with 58 additions and 51 deletions
|
@ -270,6 +270,64 @@ typedef struct _PROCESSOR_POWER_INFORMATION {
|
|||
ULONG CurrentIdleState;
|
||||
} PROCESSOR_POWER_INFORMATION, *PPROCESSOR_POWER_INFORMATION;
|
||||
|
||||
//
|
||||
// Processor Power State Data
|
||||
//
|
||||
struct _PROCESSOR_POWER_STATE;
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(FASTCALL *PPROCESSOR_IDLE_FUNCTION)(
|
||||
struct _PROCESSOR_POWER_STATE *PState);
|
||||
|
||||
typedef struct _PROCESSOR_POWER_STATE
|
||||
{
|
||||
PPROCESSOR_IDLE_FUNCTION IdleFunction;
|
||||
ULONG Idle0KernelTimeLimit;
|
||||
ULONG Idle0LastTime;
|
||||
PVOID IdleHandlers;
|
||||
PVOID IdleState;
|
||||
ULONG IdleHandlersCount;
|
||||
ULONGLONG LastCheck;
|
||||
PROCESSOR_IDLE_TIMES IdleTimes;
|
||||
ULONG IdleTime1;
|
||||
ULONG PromotionCheck;
|
||||
ULONG IdleTime2;
|
||||
UCHAR CurrentThrottle;
|
||||
UCHAR ThermalThrottleLimit;
|
||||
UCHAR CurrentThrottleIndex;
|
||||
UCHAR ThermalThrottleIndex;
|
||||
ULONG LastKernelUserTime;
|
||||
ULONG PerfIdleTime;
|
||||
ULONGLONG DebugDelta;
|
||||
ULONG DebugCount;
|
||||
ULONG LastSysTime;
|
||||
ULONGLONG TotalIdleStateTime[3];
|
||||
ULONG TotalIdleTransitions[3];
|
||||
ULONGLONG PreviousC3StateTime;
|
||||
UCHAR KneeThrottleIndex;
|
||||
UCHAR ThrottleLimitIndex;
|
||||
UCHAR PerfStatesCount;
|
||||
UCHAR ProcessorMinThrottle;
|
||||
UCHAR ProcessorMaxThrottle;
|
||||
UCHAR LastBusyPercentage;
|
||||
UCHAR LastC3Percentage;
|
||||
UCHAR LastAdjustedBusyPercentage;
|
||||
ULONG PromotionCount;
|
||||
ULONG DemotionCount;
|
||||
ULONG ErrorCount;
|
||||
ULONG RetryCount;
|
||||
ULONG Flags;
|
||||
LARGE_INTEGER PerfCounterFrequency;
|
||||
ULONG PerfTickCount;
|
||||
KTIMER PerfTimer;
|
||||
KDPC PerfDpc;
|
||||
PROCESSOR_PERF_STATE *PerfStates;
|
||||
PVOID PerfSetThrottle;
|
||||
ULONG LastC3KernelUserTime;
|
||||
ULONG Spare1[1];
|
||||
} PROCESSOR_POWER_STATE, *PPROCESSOR_POWER_STATE;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -39,57 +39,6 @@ typedef enum _SYSTEM_DOCK_STATE
|
|||
|
||||
#ifndef NTOS_MODE_USER
|
||||
|
||||
//
|
||||
// Processor Power State Data
|
||||
//
|
||||
typedef struct _PROCESSOR_POWER_STATE
|
||||
{
|
||||
PVOID IdleFunction;
|
||||
ULONG Idle0KernelTimeLimit;
|
||||
ULONG Idle0LastTime;
|
||||
PVOID IdleHandlers;
|
||||
PVOID IdleState;
|
||||
ULONG IdleHandlersCount;
|
||||
ULONGLONG LastCheck;
|
||||
PROCESSOR_IDLE_TIMES IdleTimes;
|
||||
ULONG IdleTime1;
|
||||
ULONG PromotionCheck;
|
||||
ULONG IdleTime2;
|
||||
UCHAR CurrentThrottle;
|
||||
UCHAR ThermalThrottleLimit;
|
||||
UCHAR CurrentThrottleIndex;
|
||||
UCHAR ThermalThrottleIndex;
|
||||
ULONG LastKernelUserTime;
|
||||
ULONG PerfIdleTime;
|
||||
ULONG DebugDelta;
|
||||
ULONG DebugCount;
|
||||
ULONG LastSysTime;
|
||||
ULONG TotalIdleStateTime[3];
|
||||
ULONG TotalIdleTransitions[3];
|
||||
ULONGLONG PreviousC3StateTime;
|
||||
UCHAR KneeThrottleIndex;
|
||||
UCHAR ThrottleLimitIndex;
|
||||
UCHAR PerfStatesCount;
|
||||
UCHAR ProcessorMinThrottle;
|
||||
UCHAR ProcessorMaxThrottle;
|
||||
UCHAR LastBusyPercentage;
|
||||
UCHAR LastC3Percentage;
|
||||
UCHAR LastAdjustedBusyPercentage;
|
||||
ULONG PromotionCount;
|
||||
ULONG DemotionCount;
|
||||
ULONG ErrorCount;
|
||||
ULONG RetryCount;
|
||||
ULONG Flags;
|
||||
LARGE_INTEGER PerfCounterFrequency;
|
||||
ULONG PerfTickCount;
|
||||
KTIMER PerfTimer;
|
||||
KDPC PerfDpc;
|
||||
PROCESSOR_PERF_STATE *PerfStates;
|
||||
PVOID PerfSetThrottle;
|
||||
ULONG LastC3KernelUserTime;
|
||||
ULONG Spare1[1];
|
||||
} PROCESSOR_POWER_STATE, *PPROCESSOR_POWER_STATE;
|
||||
|
||||
//
|
||||
// Device Notification Structure
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue