From 9ea129b8a984a60ca0ef710218b778ef2c3c991e Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Tue, 13 May 2025 13:02:21 +0300 Subject: [PATCH] [XDK][NDK] Avoid code duplication by generating more definitions for winnt.h --- sdk/include/ndk/ketypes.h | 42 ------------------------------------- sdk/include/xdk/ketypes.h | 12 +++++++++++ sdk/include/xdk/winnt_old.h | 5 ----- 3 files changed, 12 insertions(+), 47 deletions(-) diff --git a/sdk/include/ndk/ketypes.h b/sdk/include/ndk/ketypes.h index 824a0f091df..82ece0705f9 100644 --- a/sdk/include/ndk/ketypes.h +++ b/sdk/include/ndk/ketypes.h @@ -518,48 +518,6 @@ typedef struct _KSYSTEM_TIME LONG High2Time; } KSYSTEM_TIME, *PKSYSTEM_TIME; -#define MAXIMUM_XSTATE_FEATURES 64 - -typedef struct _XSTATE_FEATURE -{ - ULONG Offset; - ULONG Size; -} XSTATE_FEATURE, *PXSTATE_FEATURE; - -typedef struct _XSTATE_CONFIGURATION -{ - ULONG64 EnabledFeatures; -#if (NTDDI_VERSION >= NTDDI_WIN8) - ULONG64 EnabledVolatileFeatures; -#endif - ULONG Size; - union - { - ULONG ControlFlags; - struct - { - ULONG OptimizedSave:1; - ULONG CompactionEnabled:1; // WIN10+ - ULONG ExtendedFeatureDisable:1; // Win11+ - }; - }; - XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]; -#if (NTDDI_VERSION >= NTDDI_WIN10) - ULONG64 EnabledSupervisorFeatures; - ULONG64 AlignedFeatures; - ULONG AllFeatureSize; - ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES]; -#endif -#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) - ULONG64 EnabledUserVisibleSupervisorFeatures; -#endif -#if (NTDDI_VERSION >= NTDDI_WIN11) - ULONG64 ExtendedFeatureDisableFeatures; - ULONG AllNonLargeFeatureSize; - ULONG Spare; -#endif -} XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION; - // // Shared Kernel User Data // Keep in sync with sdk/include/xdk/ketypes.h diff --git a/sdk/include/xdk/ketypes.h b/sdk/include/xdk/ketypes.h index d3fd35ab204..77db8e440b3 100644 --- a/sdk/include/xdk/ketypes.h +++ b/sdk/include/xdk/ketypes.h @@ -931,6 +931,9 @@ typedef struct _KSYSTEM_TIME { LONG High2Time; } KSYSTEM_TIME, *PKSYSTEM_TIME; +$endif(_WDMDDK_) +$if(_WDMDDK_ || _WINNT_) + typedef struct DECLSPEC_ALIGN(16) _M128A { ULONGLONG Low; LONGLONG High; @@ -1010,6 +1013,9 @@ typedef struct _XSTATE_SAVE { #endif } XSTATE_SAVE, *PXSTATE_SAVE; +$endif(_WDMDDK_ || _WINNT_) +$if(_WDMDDK_) + #ifdef _X86_ #define MAXIMUM_SUPPORTED_EXTENSION 512 @@ -1129,6 +1135,9 @@ typedef struct _TIMER_SET_COALESCABLE_TIMER_INFO { } TIMER_SET_COALESCABLE_TIMER_INFO, *PTIMER_SET_COALESCABLE_TIMER_INFO; #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */ +$endif (_NTDDK_) +$if (_NTDDK_ || _WINNT_) + #define XSTATE_LEGACY_FLOATING_POINT 0 #define XSTATE_LEGACY_SSE 1 #define XSTATE_GSSE 2 @@ -1252,6 +1261,9 @@ typedef struct _XSTATE_CONFIGURATION #endif } XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION; +$endif (_NTDDK_ || _WINNT_) +$if (_NTDDK_) + #define MAX_WOW64_SHARED_ENTRIES 16 // diff --git a/sdk/include/xdk/winnt_old.h b/sdk/include/xdk/winnt_old.h index f2f3368925b..8848c10f75c 100644 --- a/sdk/include/xdk/winnt_old.h +++ b/sdk/include/xdk/winnt_old.h @@ -1270,11 +1270,6 @@ typedef struct _CONTEXT { #define EXCEPTION_WRITE_FAULT 1 #define EXCEPTION_EXECUTE_FAULT 8 -typedef struct DECLSPEC_ALIGN(16) _M128A { - ULONGLONG Low; - LONGLONG High; -} M128A, *PM128A; - typedef struct _XMM_SAVE_AREA32 { WORD ControlWord; WORD StatusWord;