Alexandre Julliard : include: Update the KUSER_SHARED_DATA structure.
Alexandre Julliard
julliard at winehq.org
Thu May 21 15:41:20 CDT 2020
Module: wine
Branch: master
Commit: db88a3ec5a566f08b1f93be0b08720cca2f29d22
URL: https://source.winehq.org/git/wine.git/?a=commit;h=db88a3ec5a566f08b1f93be0b08720cca2f29d22
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu May 21 17:05:26 2020 +0200
include: Update the KUSER_SHARED_DATA structure.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/ddk/wdm.h | 137 ++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 96 insertions(+), 41 deletions(-)
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index db8073ebe3..707eca0b32 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -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 {
More information about the wine-cvs
mailing list