Paul Gofman : include: Define extended context structures.
Alexandre Julliard
julliard at winehq.org
Thu Aug 20 16:03:36 CDT 2020
Module: wine
Branch: master
Commit: 22f4b6fcf5014b6d98188253636c116e50446c44
URL: https://source.winehq.org/git/wine.git/?a=commit;h=22f4b6fcf5014b6d98188253636c116e50446c44
Author: Paul Gofman <pgofman at codeweavers.com>
Date: Thu Aug 20 00:22:57 2020 +0300
include: Define extended context structures.
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/winnt.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/include/winnt.h b/include/winnt.h
index 38f7983cbf..8c5f24aff8 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -1297,6 +1297,64 @@ NTSYSAPI PVOID WINAPI RtlVirtualUnwind(ULONG,ULONG64,ULONG64,RUNTIME_FUNCTION*,C
#endif /* __x86_64__ */
+#define XSTATE_LEGACY_FLOATING_POINT 0
+#define XSTATE_LEGACY_SSE 1
+#define XSTATE_GSSE 2
+#define XSTATE_AVX XSTATE_GSSE
+#define XSTATE_MPX_BNDREGS 3
+#define XSTATE_MPX_BNDCSR 4
+#define XSTATE_AVX512_KMASK 5
+#define XSTATE_AVX512_ZMM_H 6
+#define XSTATE_AVX512_ZMM 7
+#define XSTATE_IPT 8
+#define XSTATE_CET_U 11
+#define XSTATE_LWP 62
+
+typedef struct _YMMCONTEXT
+{
+ M128A Ymm0;
+ M128A Ymm1;
+ M128A Ymm2;
+ M128A Ymm3;
+ M128A Ymm4;
+ M128A Ymm5;
+ M128A Ymm6;
+ M128A Ymm7;
+ M128A Ymm8;
+ M128A Ymm9;
+ M128A Ymm10;
+ M128A Ymm11;
+ M128A Ymm12;
+ M128A Ymm13;
+ M128A Ymm14;
+ M128A Ymm15;
+}
+YMMCONTEXT, *PYMMCONTEXT;
+
+typedef struct _XSTATE
+{
+ ULONG64 Mask;
+ ULONG64 CompactionMask;
+ ULONG64 Reserved[6];
+ YMMCONTEXT YmmContext;
+} XSTATE, *PXSTATE;
+
+typedef struct _CONTEXT_CHUNK
+{
+ LONG Offset;
+ ULONG Length;
+} CONTEXT_CHUNK, *PCONTEXT_CHUNK;
+
+typedef struct _CONTEXT_EX
+{
+ CONTEXT_CHUNK All;
+ CONTEXT_CHUNK Legacy;
+ CONTEXT_CHUNK XState;
+#ifdef _WIN64
+ ULONG64 align;
+#endif
+} CONTEXT_EX, *PCONTEXT_EX;
+
/* IA64 context definitions */
#ifdef __ia64__
More information about the wine-cvs
mailing list