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