Rémi Bernon : include: Add KSHARED_USER_DATA QpcData details and flags.

Alexandre Julliard julliard at winehq.org
Mon Mar 15 16:59:14 CDT 2021


Module: wine
Branch: master
Commit: 3b874440acb7858953a4a0b59cfc39196cfed7e8
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=3b874440acb7858953a4a0b59cfc39196cfed7e8

Author: Rémi Bernon <rbernon at codeweavers.com>
Date:   Wed Mar 10 12:22:34 2021 +0100

include: Add KSHARED_USER_DATA QpcData details and flags.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/ddk/wdm.h | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index c0b97e243aa..3b9af7d52b2 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1292,12 +1292,26 @@ typedef struct _KUSER_SHARED_DATA {
     volatile ULONGLONG QpcBias;                            /* 0x3b8 */
     ULONG ActiveProcessorCount;                            /* 0x3c0 */
     volatile UCHAR ActiveGroupCount;                       /* 0x3c4 */
-    USHORT QpcData;                                        /* 0x3c6 */
+    union {
+        USHORT QpcData;                                    /* 0x3c6 */
+        struct {
+            UCHAR volatile QpcBypassEnabled;
+            UCHAR QpcShift;
+        } DUMMYSTRUCTNAME;
+    } DUMMYUNIONNAME3;
     LARGE_INTEGER TimeZoneBiasEffectiveStart;              /* 0x3c8 */
     LARGE_INTEGER TimeZoneBiasEffectiveEnd;                /* 0x3d0 */
     XSTATE_CONFIGURATION XState;                           /* 0x3d8 */
 } KSHARED_USER_DATA, *PKSHARED_USER_DATA;
 
+#define SHARED_GLOBAL_FLAGS_QPC_BYPASS_ENABLED 0x01
+#define SHARED_GLOBAL_FLAGS_QPC_BYPASS_USE_HV_PAGE 0x02
+#define SHARED_GLOBAL_FLAGS_QPC_BYPASS_DISABLE_32BIT 0x04
+#define SHARED_GLOBAL_FLAGS_QPC_BYPASS_USE_MFENCE 0x10
+#define SHARED_GLOBAL_FLAGS_QPC_BYPASS_USE_LFENCE 0x20
+#define SHARED_GLOBAL_FLAGS_QPC_BYPASS_A73_ERRATA 0x40
+#define SHARED_GLOBAL_FLAGS_QPC_BYPASS_USE_RDTSCP 0x80
+
 typedef enum _MEMORY_CACHING_TYPE {
     MmNonCached = 0,
     MmCached = 1,




More information about the wine-cvs mailing list