From 472340052ada5a65e5dbeff73444dfa2494d892c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= Date: Thu, 26 Mar 2015 23:17:53 +0100 Subject: [PATCH] ntdll: Get available CPU info from FreeBSD on ARM. --- dlls/ntdll/nt.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c index a0de7057903..3601c0fb061 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c @@ -1123,6 +1123,19 @@ static inline void get_cpuinfo(SYSTEM_CPU_INFORMATION* info) } fclose(f); } +#elif defined(__FreeBSD__) + size_t valsize; + char buf[8]; + int value; + + valsize = sizeof(buf); + if (!sysctlbyname("hw.machine_arch", &buf, &valsize, NULL, 0) && + sscanf(buf, "armv%i", &value) == 1) + info->Level = value; + + valsize = sizeof(value); + if (!sysctlbyname("hw.floatingpoint", &value, &valsize, NULL, 0)) + user_shared_data->ProcessorFeatures[PF_ARM_VFP_32_REGISTERS_AVAILABLE] = value; #else FIXME("CPU Feature detection not implemented.\n"); #endif