Module: wine Branch: master Commit: c6f2ef3d1cea1e02ade335a7f16dc3158f3a7e49 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c6f2ef3d1cea1e02ade335a7f...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Nov 24 11:37:38 2020 +0100
include: Move XSTATE definitions to winnt.h.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
include/ddk/wdm.h | 47 ----------------------------------------------- include/winnt.h | 28 ++++++++++++++++++++++++++++ include/winternl.h | 14 ++++++++++++++ 3 files changed, 42 insertions(+), 47 deletions(-)
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 6885de1cf89..c0b97e243aa 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1194,39 +1194,6 @@ typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE #define NX_SUPPORT_POLICY_OPTIN 2 #define NX_SUPPORT_POLICY_OPTOUT 3
-#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; - ULONG64 EnabledVolatileFeatures; - ULONG Size; - ULONG OptimizedSave:1; - ULONG CompactionEnabled:1; - XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]; - - ULONG64 EnabledSupervisorFeatures; - ULONG64 AlignedFeatures; - ULONG AllFeatureSize; - ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES]; - ULONG64 EnabledUserVisibleSupervisorFeatures; -} XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION; - typedef struct _KUSER_SHARED_DATA { ULONG TickCountLowDeprecated; /* 0x000 */ ULONG TickCountMultiplier; /* 0x004 */ @@ -1836,20 +1803,6 @@ HANDLE WINAPI PsGetProcessInheritedFromUniqueProcessId(PEPROCESS); BOOLEAN WINAPI PsGetVersion(ULONG*,ULONG*,ULONG*,UNICODE_STRING*); NTSTATUS WINAPI PsTerminateSystemThread(NTSTATUS);
-#if defined(__x86_64__) || defined(__i386__) -NTSTATUS WINAPI RtlCopyExtendedContext(CONTEXT_EX*,ULONG,CONTEXT_EX*); -NTSTATUS WINAPI RtlInitializeExtendedContext(void*,ULONG,CONTEXT_EX**); -NTSTATUS WINAPI RtlInitializeExtendedContext2(void*,ULONG,CONTEXT_EX**,ULONG64); -ULONG64 WINAPI RtlGetEnabledExtendedFeatures(ULONG64); -NTSTATUS WINAPI RtlGetExtendedContextLength(ULONG,ULONG*); -NTSTATUS WINAPI RtlGetExtendedContextLength2(ULONG,ULONG*,ULONG64); -void * WINAPI RtlLocateLegacyContext(CONTEXT_EX*,ULONG*); -void * WINAPI RtlLocateExtendedFeature(CONTEXT_EX*,ULONG,ULONG*); -void * WINAPI RtlLocateExtendedFeature2(CONTEXT_EX*,ULONG,XSTATE_CONFIGURATION*,ULONG*); -ULONG64 WINAPI RtlGetExtendedFeaturesMask(CONTEXT_EX*); -void WINAPI RtlSetExtendedFeaturesMask(CONTEXT_EX*,ULONG64); -#endif - #ifdef __x86_64__ void WINAPI RtlCopyMemoryNonTemporal(void*,const void*,SIZE_T); #else diff --git a/include/winnt.h b/include/winnt.h index 1945ee82eab..04353d9405d 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -1338,6 +1338,34 @@ NTSYSAPI PVOID WINAPI RtlVirtualUnwind(ULONG,ULONG64,ULONG64,RUNTIME_FUNCTION*,C #define XSTATE_IPT 8 #define XSTATE_CET_U 11 #define XSTATE_LWP 62 +#define MAXIMUM_XSTATE_FEATURES 64 + +#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) + +typedef struct _XSTATE_FEATURE +{ + ULONG Offset; + ULONG Size; +} XSTATE_FEATURE, *PXSTATE_FEATURE; + +typedef struct _XSTATE_CONFIGURATION +{ + ULONG64 EnabledFeatures; + ULONG64 EnabledVolatileFeatures; + ULONG Size; + ULONG OptimizedSave:1; + ULONG CompactionEnabled:1; + XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]; + + ULONG64 EnabledSupervisorFeatures; + ULONG64 AlignedFeatures; + ULONG AllFeatureSize; + ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES]; + ULONG64 EnabledUserVisibleSupervisorFeatures; +} XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION;
typedef struct _YMMCONTEXT { diff --git a/include/winternl.h b/include/winternl.h index 11b64d078f0..a5c4837837f 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -3660,6 +3660,20 @@ NTSYSAPI NTSTATUS WINAPI RtlpUnWaitCriticalSection(RTL_CRITICAL_SECTION *); NTSYSAPI NTSTATUS WINAPI vDbgPrintEx(ULONG,ULONG,LPCSTR,__ms_va_list); NTSYSAPI NTSTATUS WINAPI vDbgPrintExWithPrefix(LPCSTR,ULONG,ULONG,LPCSTR,__ms_va_list);
+#if defined(__x86_64__) || defined(__i386__) +NTSYSAPI NTSTATUS WINAPI RtlCopyExtendedContext(CONTEXT_EX*,ULONG,CONTEXT_EX*); +NTSYSAPI NTSTATUS WINAPI RtlInitializeExtendedContext(void*,ULONG,CONTEXT_EX**); +NTSYSAPI NTSTATUS WINAPI RtlInitializeExtendedContext2(void*,ULONG,CONTEXT_EX**,ULONG64); +NTSYSAPI ULONG64 WINAPI RtlGetEnabledExtendedFeatures(ULONG64); +NTSYSAPI NTSTATUS WINAPI RtlGetExtendedContextLength(ULONG,ULONG*); +NTSYSAPI NTSTATUS WINAPI RtlGetExtendedContextLength2(ULONG,ULONG*,ULONG64); +NTSYSAPI void * WINAPI RtlLocateLegacyContext(CONTEXT_EX*,ULONG*); +NTSYSAPI void * WINAPI RtlLocateExtendedFeature(CONTEXT_EX*,ULONG,ULONG*); +NTSYSAPI void * WINAPI RtlLocateExtendedFeature2(CONTEXT_EX*,ULONG,XSTATE_CONFIGURATION*,ULONG*); +NTSYSAPI ULONG64 WINAPI RtlGetExtendedFeaturesMask(CONTEXT_EX*); +NTSYSAPI void WINAPI RtlSetExtendedFeaturesMask(CONTEXT_EX*,ULONG64); +#endif + NTSYSAPI int __cdecl _strnicmp(LPCSTR,LPCSTR,size_t);
/* 32-bit only functions */