[PATCH 2/3] ntdll: Fill ActiveProcessorCount field in _KUSER_SHARED_DATA.
Paul Gofman
pgofman at codeweavers.com
Mon May 25 10:42:01 CDT 2020
Signed-off-by: Paul Gofman <pgofman at 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)
--
2.26.2
More information about the wine-devel
mailing list