include: Update the KUSER_SHARED_DATA structure.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Alexandre Julliard 2020-05-21 17:05:26 +02:00
parent c42b415fab
commit db88a3ec5a
1 changed files with 96 additions and 41 deletions

View File

@ -1170,52 +1170,107 @@ typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE
#define NX_SUPPORT_POLICY_OPTIN 2
#define NX_SUPPORT_POLICY_OPTOUT 3
#define MAX_WOW64_SHARED_ENTRIES 16
#define XSTATE_LEGACY_FLOATING_POINT 0
#define XSTATE_LEGACY_SSE 1
#define XSTATE_GSSE 2
#define XSTATE_MASK_LEGACY_FLOATING_POINT (1 << XSTATE_LEGACY_FLOATING_POINT)
#define XSTATE_MASK_LEGACY_SSE (1 << XSTATE_LEGACY_SSE)
#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)
#define XSTATE_MASK_GSSE (1 << XSTATE_GSSE)
#define MAXIMUM_XSTATE_FEATURES 64
typedef struct _XSTATE_FEATURE
{
ULONG Offset;
ULONG Size;
} XSTATE_FEATURE, *PXSTATE_FEATURE;
typedef struct _XSTATE_CONFIGURATION
{
ULONG64 EnabledFeatures;
ULONG Size;
ULONG OptimizedSave:1;
XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES];
} XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION;
typedef struct _KUSER_SHARED_DATA {
ULONG TickCountLowDeprecated;
ULONG TickCountMultiplier;
volatile KSYSTEM_TIME InterruptTime;
volatile KSYSTEM_TIME SystemTime;
volatile KSYSTEM_TIME TimeZoneBias;
USHORT ImageNumberLow;
USHORT ImageNumberHigh;
WCHAR NtSystemRoot[260];
ULONG MaxStackTraceDepth;
ULONG CryptoExponent;
ULONG TimeZoneId;
ULONG LargePageMinimum;
ULONG Reserved2[7];
NT_PRODUCT_TYPE NtProductType;
BOOLEAN ProductTypeIsValid;
ULONG NtMajorVersion;
ULONG NtMinorVersion;
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX];
ULONG Reserved1;
ULONG Reserved3;
volatile ULONG TimeSlip;
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;
LARGE_INTEGER SystemExpirationDate;
ULONG SuiteMask;
BOOLEAN KdDebuggerEnabled;
UCHAR NXSupportPolicy;
volatile ULONG ActiveConsoleId;
volatile ULONG DismountCount;
ULONG ComPlusPackage;
ULONG LastSystemRITEventTickCount;
ULONG NumberOfPhysicalPages;
BOOLEAN SafeBootMode;
ULONG TraceLogging;
ULONGLONG TestRetInstruction;
ULONG SystemCall;
ULONG SystemCallReturn;
ULONGLONG SystemCallPad[3];
ULONG TickCountLowDeprecated; /* 0x000 */
ULONG TickCountMultiplier; /* 0x004 */
volatile KSYSTEM_TIME InterruptTime; /* 0x008 */
volatile KSYSTEM_TIME SystemTime; /* 0x014 */
volatile KSYSTEM_TIME TimeZoneBias; /* 0x020 */
USHORT ImageNumberLow; /* 0x02c */
USHORT ImageNumberHigh; /* 0x02e */
WCHAR NtSystemRoot[260]; /* 0x030 */
ULONG MaxStackTraceDepth; /* 0x238 */
ULONG CryptoExponent; /* 0x23c */
ULONG TimeZoneId; /* 0x240 */
ULONG LargePageMinimum; /* 0x244 */
ULONG AitSamplingValue; /* 0x248 */
ULONG AppCompatFlag; /* 0x24c */
ULONGLONG RNGSeedVersion; /* 0x250 */
ULONG GlobalValidationRunLevel; /* 0x258 */
volatile ULONG TimeZoneBiasStamp; /* 0x25c */
ULONG NtBuildNumber; /* 0x260 */
NT_PRODUCT_TYPE NtProductType; /* 0x264 */
BOOLEAN ProductTypeIsValid; /* 0x268 */
USHORT NativeProcessorArchitecture; /* 0x26a */
ULONG NtMajorVersion; /* 0x26c */
ULONG NtMinorVersion; /* 0x270 */
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX]; /* 0x274 */
ULONG Reserved1; /* 0x2b4 */
ULONG Reserved3; /* 0x2b8 */
volatile ULONG TimeSlip; /* 0x2bc */
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture; /* 0x2c0 */
ULONG BootId; /* 0x2c4 */
LARGE_INTEGER SystemExpirationDate; /* 0x2c8 */
ULONG SuiteMask; /* 0x2d0 */
BOOLEAN KdDebuggerEnabled; /* 0x2d4 */
UCHAR NXSupportPolicy; /* 0x2d5 */
volatile ULONG ActiveConsoleId; /* 0x2d8 */
volatile ULONG DismountCount; /* 0x2dc */
ULONG ComPlusPackage; /* 0x2e0 */
ULONG LastSystemRITEventTickCount; /* 0x2e4 */
ULONG NumberOfPhysicalPages; /* 0x2e8 */
BOOLEAN SafeBootMode; /* 0x2ec */
UCHAR VirtualizationFlags; /* 0x2ed */
ULONG TraceLogging; /* 0x2f0 */
ULONGLONG TestRetInstruction; /* 0x2f8 */
ULONG SystemCall; /* 0x300 */
ULONG SystemCallReturn; /* 0x304 */
ULONGLONG SystemCallPad[3]; /* 0x308 */
union {
volatile KSYSTEM_TIME TickCount;
volatile KSYSTEM_TIME TickCount; /* 0x320 */
volatile ULONG64 TickCountQuad;
} DUMMYUNIONNAME;
ULONG Cookie;
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES];
ULONG Cookie; /* 0x330 */
LONGLONG ConsoleSessionForegroundProcessId; /* 0x338 */
ULONGLONG TimeUpdateLock; /* 0x340 */
ULONGLONG BaselineSystemTimeQpc; /* 0x348 */
ULONGLONG BaselineInterruptTimeQpc; /* 0x350 */
ULONGLONG QpcSystemTimeIncrement; /* 0x358 */
ULONGLONG QpcInterruptTimeIncrement; /* 0x360 */
UCHAR QpcSystemTimeIncrementShift; /* 0x368 */
UCHAR QpcInterruptTimeIncrementShift; /* 0x369 */
USHORT UnparkedProcessorCount; /* 0x36a */
ULONG EnclaveFeatureMask[4]; /* 0x36c */
ULONG TelemetryCoverageRound; /* 0x37c */
USHORT UserModeGlobalLogger[16]; /* 0x380 */
ULONG HeapTracingPid[2]; /* 0x390 */
ULONG CritSecTracingPid[2]; /* 0x398 */
ULONG ImageFileExecutionOptions; /* 0x3a0 */
ULONG LangGenerationCount; /* 0x3a4 */
ULONG ActiveProcessorAffinity; /* 0x3a8 */
volatile ULONGLONG InterruptTimeBias; /* 0x3b0 */
volatile ULONGLONG QpcBias; /* 0x3b8 */
ULONG ActiveProcessorCount; /* 0x3c0 */
volatile UCHAR ActiveGroupCount; /* 0x3c4 */
USHORT QpcData; /* 0x3c6 */
LARGE_INTEGER TimeZoneBiasEffectiveStart; /* 0x3c8 */
LARGE_INTEGER TimeZoneBiasEffectiveEnd; /* 0x3d0 */
XSTATE_CONFIGURATION XState; /* 0x3d8 */
} KSHARED_USER_DATA, *PKSHARED_USER_DATA;
typedef enum _MEMORY_CACHING_TYPE {