HeapTracingPid, CritSecTracingPid are present in NT 6.0. But NT 6.0 has UserModeGlobalLogger array size of 8 instead of 16.
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- include/ddk/wdm.h | 2 -- 1 file changed, 2 deletions(-)
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 91e8a1a698..b0ad0e70d3 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1258,8 +1258,6 @@ typedef struct _KUSER_SHARED_DATA { ULONG EnclaveFeatureMask[4]; /* 0x36c */ ULONG TelemetryCoverageRound; /* 0x37c */ USHORT UserModeGlobalLogger[16]; /* 0x380 */ - ULONG HeapTracingPid[2]; /* 0x390 */ - ULONG CritSecTracingPid[2]; /* 0x398 */ ULONG ImageFileExecutionOptions; /* 0x3a0 */ ULONG LangGenerationCount; /* 0x3a4 */ ULONG ActiveProcessorAffinity; /* 0x3a8 */
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- dlls/ntdll/tests/virtual.c | 3 +++ dlls/ntdll/thread.c | 1 + 2 files changed, 4 insertions(+)
diff --git a/dlls/ntdll/tests/virtual.c b/dlls/ntdll/tests/virtual.c index 3b0d74daeb..59c2224816 100644 --- a/dlls/ntdll/tests/virtual.c +++ b/dlls/ntdll/tests/virtual.c @@ -528,6 +528,9 @@ static void test_user_shared_data(void) ok(user_shared_data->ProcessorFeatures[PF_RDTSC_INSTRUCTION_AVAILABLE] /* Supported since Pentium CPUs. */, "_RDTSC not available.\n"); #endif + ok(user_shared_data->ActiveProcessorCount == NtCurrentTeb()->Peb->NumberOfProcessors + || broken(!user_shared_data->ActiveProcessorCount) /* before Win7 */, + "Got unexpected ActiveProcessorCount %u.\n", user_shared_data->ActiveProcessorCount); }
START_TEST(virtual) diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c index 19e09c7e38..78574d0c5d 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -238,6 +238,7 @@ static void fill_user_shared_data( struct _KUSER_SHARED_DATA *data ) features[PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE] = !!(sci.FeatureSet & CPU_FEATURE_ARM_V8_CRYPTO); break; } + data->ActiveProcessorCount = NtCurrentTeb()->Peb->NumberOfProcessors; }
HANDLE user_shared_data_init_done(void)
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- dlls/ntdll/tests/virtual.c | 3 +++ dlls/ntdll/thread.c | 1 + 2 files changed, 4 insertions(+)
diff --git a/dlls/ntdll/tests/virtual.c b/dlls/ntdll/tests/virtual.c index 59c2224816..beab744178 100644 --- a/dlls/ntdll/tests/virtual.c +++ b/dlls/ntdll/tests/virtual.c @@ -531,6 +531,9 @@ static void test_user_shared_data(void) ok(user_shared_data->ActiveProcessorCount == NtCurrentTeb()->Peb->NumberOfProcessors || broken(!user_shared_data->ActiveProcessorCount) /* before Win7 */, "Got unexpected ActiveProcessorCount %u.\n", user_shared_data->ActiveProcessorCount); + ok(user_shared_data->ActiveGroupCount == 1 + || broken(!user_shared_data->ActiveGroupCount) /* before Win7 */, + "Got unexpected ActiveGroupCount %u.\n", user_shared_data->ActiveGroupCount); }
START_TEST(virtual) diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c index 78574d0c5d..3d370f7a98 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -239,6 +239,7 @@ static void fill_user_shared_data( struct _KUSER_SHARED_DATA *data ) break; } data->ActiveProcessorCount = NtCurrentTeb()->Peb->NumberOfProcessors; + data->ActiveGroupCount = 1; }
HANDLE user_shared_data_init_done(void)