diff --git a/dlls/kernel32/cpu.c b/dlls/kernel32/cpu.c index 63ca277..10a8e87 100644 --- a/dlls/kernel32/cpu.c +++ b/dlls/kernel32/cpu.c @@ -544,7 +544,7 @@ VOID WINAPI GetSystemInfo( } fclose (f); } -#elif defined (__NetBSD__) +#elif defined (__NetBSD__) || defined(__OpenBSD__) { int mib[2]; int value[2]; @@ -557,31 +557,55 @@ VOID WINAPI GetSystemInfo( #ifdef CPU_FPU_PRESENT mib[1] = CPU_FPU_PRESENT; value[1] = sizeof(int); - if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) +#ifdef __OpenBSD__ + if (sysctl(mib, 2, value, (size_t *)(value+1), NULL, 0) >= 0) { +#else + if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) { +#endif if (value) PF[PF_FLOATING_POINT_EMULATED] = FALSE; else PF[PF_FLOATING_POINT_EMULATED] = TRUE; + } #endif #ifdef CPU_SSE mib[1] = CPU_SSE; /* this should imply MMX */ value[1] = sizeof(int); - if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) +#ifdef __OpenBSD__ + if (sysctl(mib, 2, value, (size_t *)(value+1), NULL, 0) >= 0) { +#else + if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) { +#endif if (value) PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE; + } #endif #ifdef CPU_SSE2 mib[1] = CPU_SSE2; /* this should imply MMX */ value[1] = sizeof(int); - if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) +#ifdef __OpenBSD__ + if (sysctl(mib, 2, value, (size_t *)(value+1), NULL, 0) >= 0) { +#else + if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) { +#endif if (value) PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE; + } #endif mib[0] = CTL_HW; mib[1] = HW_NCPU; value[1] = sizeof(int); - if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) +#ifdef __OpenBSD__ + if (sysctl(mib, 2, value, (size_t *)(value+1), NULL, 0) >= 0) { +#else + if (sysctl(mib, 2, value, value+1, NULL, 0) >= 0) { +#endif if (value[0] > cachedsi.dwNumberOfProcessors) cachedsi.dwNumberOfProcessors = value[0]; + } mib[1] = HW_MODEL; value[1] = 255; +#ifdef __OpenBSD__ + if (sysctl(mib, 2, model, (size_t *)(value+1), NULL, 0) >= 0) { +#else if (sysctl(mib, 2, model, value+1, NULL, 0) >= 0) { +#endif model[value[1]] = '\0'; /* just in case */ cpuclass = strstr(model, "-class"); if (cpuclass != NULL) {