Module: wine Branch: master Commit: 5ecea501704f7ac1f1a9c6db8ca787ce79394e8c URL: https://source.winehq.org/git/wine.git/?a=commit;h=5ecea501704f7ac1f1a9c6db8...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Feb 14 19:41:34 2019 +0100
ntdll: Make the CPU information global.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntdll/nt.c | 13 ++++++------- dlls/ntdll/ntdll_misc.h | 1 + 2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c index 5138da4..0a59947 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c @@ -926,7 +926,7 @@ NTSTATUS WINAPI NtSetIntervalProfile( return STATUS_SUCCESS; }
-static SYSTEM_CPU_INFORMATION cached_sci; +SYSTEM_CPU_INFORMATION cpu_info = { 0 };
/******************************************************************************* * Architecture specific feature detection for CPUs @@ -1305,7 +1305,7 @@ static inline void get_cpuinfo(SYSTEM_CPU_INFORMATION* info) * fill_cpu_info * * inits a couple of places with CPU related information: - * - cached_sci in this file + * - cpu_info in this file * - Peb->NumberOfProcessors * - SharedUserData->ProcessFeatures[] array */ @@ -1336,11 +1336,10 @@ void fill_cpu_info(void) #endif NtCurrentTeb()->Peb->NumberOfProcessors = num;
- memset(&cached_sci, 0, sizeof(cached_sci)); - get_cpuinfo(&cached_sci); + get_cpuinfo(&cpu_info);
TRACE("<- CPU arch %d, level %d, rev %d, features 0x%x\n", - cached_sci.Architecture, cached_sci.Level, cached_sci.Revision, cached_sci.FeatureSet); + cpu_info.Architecture, cpu_info.Level, cpu_info.Revision, cpu_info.FeatureSet); }
static BOOL grow_logical_proc_buf(SYSTEM_LOGICAL_PROCESSOR_INFORMATION **pdata, @@ -2287,10 +2286,10 @@ NTSTATUS WINAPI NtQuerySystemInformation( } break; case SystemCpuInformation: - if (Length >= (len = sizeof(cached_sci))) + if (Length >= (len = sizeof(cpu_info))) { if (!SystemInformation) ret = STATUS_ACCESS_VIOLATION; - else memcpy(SystemInformation, &cached_sci, len); + else memcpy(SystemInformation, &cpu_info, len); } else ret = STATUS_INFO_LENGTH_MISMATCH; break; diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h index 5bfc8a9..5afb17f 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h @@ -248,6 +248,7 @@ static inline struct ntdll_thread_data *ntdll_get_thread_data(void)
extern mode_t FILE_umask DECLSPEC_HIDDEN; extern HANDLE keyed_event DECLSPEC_HIDDEN; +extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
#define HASH_STRING_ALGORITHM_DEFAULT 0 #define HASH_STRING_ALGORITHM_X65599 1