[2/2] ntdll: Get available CPU info from FreeBSD on ARM

André Hentschel nerv at dawncrow.de
Thu Mar 26 17:17:53 CDT 2015


---
 dlls/ntdll/nt.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index a0de705..3601c0f 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
-- 
1.9.1




More information about the wine-patches mailing list