[XDK][NDK] Add XSTATE hacks

This commit is contained in:
Timo Kreuzer 2023-12-03 13:02:50 +02:00
parent e029a98c22
commit 0f2f124c3a
2 changed files with 13 additions and 4 deletions

View file

@ -806,6 +806,9 @@ typedef struct _KUSER_SHARED_DATA
ULONG64 UserPointerAuthMask; // 0x730 ULONG64 UserPointerAuthMask; // 0x730
#endif // NTDDI_VERSION >= NTDDI_WIN11_NI #endif // NTDDI_VERSION >= NTDDI_WIN11_NI
#if (NTDDI_VERSION < NTDDI_WIN7) && defined(__REACTOS__)
XSTATE_CONFIGURATION XState;
#endif
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA; } KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
// //
@ -1768,6 +1771,9 @@ typedef struct _KTHREAD
#elif (NTDDI_VERSION >= NTDDI_LONGHORN) // ][ #elif (NTDDI_VERSION >= NTDDI_LONGHORN) // ][
PVOID MdlForLockedTeb; PVOID MdlForLockedTeb;
#endif // ] #endif // ]
#if defined(__REACTOS__) && defined(_M_AMD64) // HACK!
XSAVE_FORMAT* StateSaveArea;
#endif
} KTHREAD; } KTHREAD;
#else // not (NTDDI_VERSION < NTDDI_WIN8) #else // not (NTDDI_VERSION < NTDDI_WIN8)

View file

@ -1230,7 +1230,7 @@ typedef struct _XSTATE_FEATURE {
typedef struct _XSTATE_CONFIGURATION typedef struct _XSTATE_CONFIGURATION
{ {
ULONG64 EnabledFeatures; ULONG64 EnabledFeatures;
#if (NTDDI_VERSION >= NTDDI_WIN8) #if (NTDDI_VERSION >= NTDDI_WIN8) || defined(__REACTOS__)
ULONG64 EnabledVolatileFeatures; ULONG64 EnabledVolatileFeatures;
#endif #endif
ULONG Size; ULONG Size;
@ -1245,16 +1245,16 @@ typedef struct _XSTATE_CONFIGURATION
}; };
}; };
XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]; XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES];
#if (NTDDI_VERSION >= NTDDI_WIN10) #if (NTDDI_VERSION >= NTDDI_WIN10) || defined(__REACTOS__)
ULONG64 EnabledSupervisorFeatures; ULONG64 EnabledSupervisorFeatures;
ULONG64 AlignedFeatures; ULONG64 AlignedFeatures;
ULONG AllFeatureSize; ULONG AllFeatureSize;
ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES]; ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES];
#endif #endif
#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) #if (NTDDI_VERSION >= NTDDI_WIN10_RS5) || defined(__REACTOS__)
ULONG64 EnabledUserVisibleSupervisorFeatures; ULONG64 EnabledUserVisibleSupervisorFeatures;
#endif #endif
#if (NTDDI_VERSION >= NTDDI_WIN11) #if (NTDDI_VERSION >= NTDDI_WIN11) || defined(__REACTOS__)
ULONG64 ExtendedFeatureDisableFeatures; ULONG64 ExtendedFeatureDisableFeatures;
ULONG AllNonLargeFeatureSize; ULONG AllNonLargeFeatureSize;
ULONG Spare; ULONG Spare;
@ -1564,6 +1564,9 @@ typedef struct _KUSER_SHARED_DATA
ULONG64 UserPointerAuthMask; // 0x730 ULONG64 UserPointerAuthMask; // 0x730
#endif // NTDDI_VERSION >= NTDDI_WIN11_NI #endif // NTDDI_VERSION >= NTDDI_WIN11_NI
#if (NTDDI_VERSION < NTDDI_WIN7) && defined(__REACTOS__)
XSTATE_CONFIGURATION XState;
#endif
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA; } KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)