Improve CPU / memory / system information on NetBSD.diff -r1.6 -r1.7 pkgsrc/multimedia/kodi/distinfo
(jmcneill)
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: distinfo,v 1.6 2015/11/17 18:15:33 jmcneill Exp $ | 1 | $NetBSD: distinfo,v 1.7 2015/11/18 23:27:23 jmcneill Exp $ | |
2 | 2 | |||
3 | SHA1 (15.2-Isengard.tar.gz) = 4acb4a60eadc7289f873cff5add31693b9520cba | 3 | SHA1 (15.2-Isengard.tar.gz) = 4acb4a60eadc7289f873cff5add31693b9520cba | |
4 | RMD160 (15.2-Isengard.tar.gz) = d81d3f15783b2b69920ea85d7e04f01872f2d85f | 4 | RMD160 (15.2-Isengard.tar.gz) = d81d3f15783b2b69920ea85d7e04f01872f2d85f | |
5 | SHA512 (15.2-Isengard.tar.gz) = 870f67b83aaa96b1a4111f34824eb47c24616d067adf930f4456ca8f1ac57052c41aa73915304ea85b1d10390865b88d88c85e6cd425b42ec5a504908adf4b67 | 5 | SHA512 (15.2-Isengard.tar.gz) = 870f67b83aaa96b1a4111f34824eb47c24616d067adf930f4456ca8f1ac57052c41aa73915304ea85b1d10390865b88d88c85e6cd425b42ec5a504908adf4b67 | |
6 | Size (15.2-Isengard.tar.gz) = 61484128 bytes | 6 | Size (15.2-Isengard.tar.gz) = 61484128 bytes | |
7 | SHA1 (patch-Makefile.in) = 10fa432a7b2dc53bdfa3f679890a343db3cca304 | 7 | SHA1 (patch-Makefile.in) = 10fa432a7b2dc53bdfa3f679890a343db3cca304 | |
8 | SHA1 (patch-bootstrap) = 179a827d07d8a5ca6566ac247a167197652384f6 | 8 | SHA1 (patch-bootstrap) = 179a827d07d8a5ca6566ac247a167197652384f6 | |
9 | SHA1 (patch-codegenerator.mk) = faf908bf1614f68f3a67faa9ac3139d5851daf95 | 9 | SHA1 (patch-codegenerator.mk) = faf908bf1614f68f3a67faa9ac3139d5851daf95 | |
10 | SHA1 (patch-configure.ac) = 5b19831d7a120261f7c5a42b86c55f14428afa46 | 10 | SHA1 (patch-configure.ac) = 5b19831d7a120261f7c5a42b86c55f14428afa46 | |
11 | SHA1 (patch-lib_cximage-6.0_CxImage_DllInterface.cpp) = 7f0d2d6fb46aa99d1889609e257b0978e72e1c6c | 11 | SHA1 (patch-lib_cximage-6.0_CxImage_DllInterface.cpp) = 7f0d2d6fb46aa99d1889609e257b0978e72e1c6c | |
12 | SHA1 (patch-lib_cximage-6.0_CxImage_ximage.h) = da60aeaaa22daefaf6b91bff602ce15618e4c5a0 | 12 | SHA1 (patch-lib_cximage-6.0_CxImage_ximage.h) = da60aeaaa22daefaf6b91bff602ce15618e4c5a0 | |
13 | SHA1 (patch-lib_cximage-6.0_CxImage_ximainfo.cpp) = 2457e20bfec3d0dc12edee3679167f092555b153 | 13 | SHA1 (patch-lib_cximage-6.0_CxImage_ximainfo.cpp) = 2457e20bfec3d0dc12edee3679167f092555b153 | |
14 | SHA1 (patch-m4_xbmc__arch.m4) = ec0018a5a07cd8ab0e6718585fe8dcc9dd561c02 | 14 | SHA1 (patch-m4_xbmc__arch.m4) = ec0018a5a07cd8ab0e6718585fe8dcc9dd561c02 | |
@@ -21,32 +21,33 @@ SHA1 (patch-xbmc_addons_AddonManager.cpp | @@ -21,32 +21,33 @@ SHA1 (patch-xbmc_addons_AddonManager.cpp | |||
21 | SHA1 (patch-xbmc_cores_AudioEngine_AESinkFactory.cpp) = 5437865b90130d7a0dc780fc1d542e6cfc8cc309 | 21 | SHA1 (patch-xbmc_cores_AudioEngine_AESinkFactory.cpp) = 5437865b90130d7a0dc780fc1d542e6cfc8cc309 | |
22 | SHA1 (patch-xbmc_cores_AudioEngine_Sinks_AESinkOSS.cpp) = 729a9fa7ebc317e0e14aa5685baf33eaebb4444d | 22 | SHA1 (patch-xbmc_cores_AudioEngine_Sinks_AESinkOSS.cpp) = 729a9fa7ebc317e0e14aa5685baf33eaebb4444d | |
23 | SHA1 (patch-xbmc_cores_DllLoader_exports_emu__msvcrt.cpp) = 650a107afbf5bb78eb971592e66bea7fc7c115b9 | 23 | SHA1 (patch-xbmc_cores_DllLoader_exports_emu__msvcrt.cpp) = 650a107afbf5bb78eb971592e66bea7fc7c115b9 | |
24 | SHA1 (patch-xbmc_cores_DllLoader_exports_emu__msvcrt.h) = 6047438509663af2826bd5e6c181d9018f86b27c | 24 | SHA1 (patch-xbmc_cores_DllLoader_exports_emu__msvcrt.h) = 6047438509663af2826bd5e6c181d9018f86b27c | |
25 | SHA1 (patch-xbmc_cores_DllLoader_exports_util_EmuFileWrapper.h) = a4d62050c1efb96a0b1e6ccb2d9529f6ae3a1135 | 25 | SHA1 (patch-xbmc_cores_DllLoader_exports_util_EmuFileWrapper.h) = a4d62050c1efb96a0b1e6ccb2d9529f6ae3a1135 | |
26 | SHA1 (patch-xbmc_cores_DllLoader_exports_wrapper.c) = 275e8e9fed74e0a97c9c138ab37d21cff62d4e33 | 26 | SHA1 (patch-xbmc_cores_DllLoader_exports_wrapper.c) = 275e8e9fed74e0a97c9c138ab37d21cff62d4e33 | |
27 | SHA1 (patch-xbmc_filesystem_SAPDirectory.cpp) = ad07af23222a835540d78419b896590395e61e78 | 27 | SHA1 (patch-xbmc_filesystem_SAPDirectory.cpp) = ad07af23222a835540d78419b896590395e61e78 | |
28 | SHA1 (patch-xbmc_guilib_TextureBundleXPR.cpp) = b3012d41cb4cf0ea0d92c675cf6c16928439c643 | 28 | SHA1 (patch-xbmc_guilib_TextureBundleXPR.cpp) = b3012d41cb4cf0ea0d92c675cf6c16928439c643 | |
29 | SHA1 (patch-xbmc_guilib_XBTFReader.cpp) = e0505ee31f92ceb37dbb1200f49806af85410e2c | 29 | SHA1 (patch-xbmc_guilib_XBTFReader.cpp) = e0505ee31f92ceb37dbb1200f49806af85410e2c | |
30 | SHA1 (patch-xbmc_interfaces_python_XBPython.cpp) = 0ad33ef736f12b6aca8667da5d50998d69c90ea7 | 30 | SHA1 (patch-xbmc_interfaces_python_XBPython.cpp) = 0ad33ef736f12b6aca8667da5d50998d69c90ea7 | |
31 | SHA1 (patch-xbmc_linux_LinuxTimezone.cpp) = 18974ed63d1ac35a4060ea3d01826120b016c06e | 31 | SHA1 (patch-xbmc_linux_LinuxTimezone.cpp) = 18974ed63d1ac35a4060ea3d01826120b016c06e | |
32 | SHA1 (patch-xbmc_linux_PlatformDefs.h) = 56d70fce18807b10cb8d42ac0feca94d0c113c57 | 32 | SHA1 (patch-xbmc_linux_PlatformDefs.h) = 56d70fce18807b10cb8d42ac0feca94d0c113c57 | |
33 | SHA1 (patch-xbmc_linux_XFileUtils.cpp) = 4c03a869957ca501adaa5dc0d966cfd043e0d5c9 | 33 | SHA1 (patch-xbmc_linux_XFileUtils.cpp) = 4c03a869957ca501adaa5dc0d966cfd043e0d5c9 | |
34 | SHA1 (patch-xbmc_linux_XMemUtils.cpp) = a225fd8d90e58c12295c47126c76ded36a5bcec5 | 34 | SHA1 (patch-xbmc_linux_XMemUtils.cpp) = 2c8fb8f80feb4d5f50518d9bd6fcc69519674658 | |
35 | SHA1 (patch-xbmc_network_linux_NetworkLinux.cpp) = febc3a9791d0c087261ccbbecdcffcaa4793e333 | 35 | SHA1 (patch-xbmc_network_linux_NetworkLinux.cpp) = febc3a9791d0c087261ccbbecdcffcaa4793e333 | |
36 | SHA1 (patch-xbmc_peripherals_bus_PeripheralBusUSB.h) = e3682d8fbfad9bca11a706c2ca3a77f0a7751e3a | 36 | SHA1 (patch-xbmc_peripherals_bus_PeripheralBusUSB.h) = e3682d8fbfad9bca11a706c2ca3a77f0a7751e3a | |
37 | SHA1 (patch-xbmc_peripherals_bus_linux_PeripheralBusUSBLibUSB.cpp) = 040678e8379f6797e8276d9787d60fcdb24e17c9 | 37 | SHA1 (patch-xbmc_peripherals_bus_linux_PeripheralBusUSBLibUSB.cpp) = 040678e8379f6797e8276d9787d60fcdb24e17c9 | |
38 | SHA1 (patch-xbmc_settings_Settings.cpp) = aa2426fcd69652bc656dba0b7d92341235309a8f | 38 | SHA1 (patch-xbmc_settings_Settings.cpp) = aa2426fcd69652bc656dba0b7d92341235309a8f | |
39 | SHA1 (patch-xbmc_storage_DetectDVDType.cpp) = 7414b122a2787dfe8a4753b50445b16230262d92 | 39 | SHA1 (patch-xbmc_storage_DetectDVDType.cpp) = 7414b122a2787dfe8a4753b50445b16230262d92 | |
40 | SHA1 (patch-xbmc_storage_IoSupport.cpp) = d15ff91f76f0ce063dc6dda104a595f33bbdc01e | 40 | SHA1 (patch-xbmc_storage_IoSupport.cpp) = d15ff91f76f0ce063dc6dda104a595f33bbdc01e | |
41 | SHA1 (patch-xbmc_storage_MediaManager.cpp) = 5a816d5c6b060a99aa498f6f9b62571873d23970 | 41 | SHA1 (patch-xbmc_storage_MediaManager.cpp) = 5a816d5c6b060a99aa498f6f9b62571873d23970 | |
42 | SHA1 (patch-xbmc_system.h) = 10738c487ed6c2de066483cc077ad05037132da8 | 42 | SHA1 (patch-xbmc_system.h) = 10738c487ed6c2de066483cc077ad05037132da8 | |
43 | SHA1 (patch-xbmc_system__gl.h) = e2b8e3d57c6d838020163cf56e8f868c959af937 | 43 | SHA1 (patch-xbmc_system__gl.h) = e2b8e3d57c6d838020163cf56e8f868c959af937 | |
44 | SHA1 (patch-xbmc_threads_platform_pthreads_ThreadImpl.cpp) = f8853a8ace422d9ab088be89b5562da552edcc7a | 44 | SHA1 (patch-xbmc_threads_platform_pthreads_ThreadImpl.cpp) = f8853a8ace422d9ab088be89b5562da552edcc7a | |
45 | SHA1 (patch-xbmc_utils_CPUInfo.cpp) = 79f044c36291886b1d32e80700ba3191aa93faf8 | 45 | SHA1 (patch-xbmc_utils_CPUInfo.cpp) = 292699f70c30c9462faea7c8bb2d2edb8836d226 | |
46 | SHA1 (patch-xbmc_utils_CharsetConverter.cpp) = 420a1e39d24c38dca2a8702a22b8cf67ef04dd3f | 46 | SHA1 (patch-xbmc_utils_CharsetConverter.cpp) = 420a1e39d24c38dca2a8702a22b8cf67ef04dd3f | |
47 | SHA1 (patch-xbmc_utils_Stopwatch.cpp) = fd2b8f7112e89ce164a0329ea3ee389f85705d1f | 47 | SHA1 (patch-xbmc_utils_Stopwatch.cpp) = fd2b8f7112e89ce164a0329ea3ee389f85705d1f | |
48 | SHA1 (patch-xbmc_utils_SystemInfo.cpp) = 751ca3390422387cea4dc0f240bb55eeb9e077a5 | 48 | SHA1 (patch-xbmc_utils_SystemInfo.cpp) = 444e0e34842f97660d521b9715c01fa4fe99a9f0 | |
49 | SHA1 (patch-xbmc_utils_test_TestSystemInfo.cpp) = eeca9e097346f9f2c7f047f5906d6ffb75fd393b | 49 | SHA1 (patch-xbmc_utils_test_TestSystemInfo.cpp) = eeca9e097346f9f2c7f047f5906d6ffb75fd393b | |
50 | SHA1 (patch-xbmc_windowing_WinEvents.cpp) = 5e1c202214cd95671cc8bb503dd49080efd828f2 | 50 | SHA1 (patch-xbmc_windowing_WinEvents.cpp) = 5e1c202214cd95671cc8bb503dd49080efd828f2 | |
51 | SHA1 (patch-xbmc_windowing_WindowingFactory.h) = 736df0f1a0f3c7e9048481a58c15951bdea017f1 | 51 | SHA1 (patch-xbmc_windowing_WindowingFactory.h) = 736df0f1a0f3c7e9048481a58c15951bdea017f1 | |
52 | SHA1 (patch-xbmc_windowing_X11_XRandR.cpp) = e0d03f225704019fb162022020d1d9ed72ed480a | 52 | SHA1 (patch-xbmc_windowing_X11_XRandR.cpp) = e0d03f225704019fb162022020d1d9ed72ed480a | |
53 | SHA1 (patch-xbmc_windows_GUIWindowSystemInfo.cpp) = 761af54a7728059356e14b15b55383d5a53c92a1 |
@@ -1,56 +1,54 @@ | @@ -1,56 +1,54 @@ | |||
1 | $NetBSD: patch-xbmc_linux_XMemUtils.cpp,v 1.1 2015/11/17 14:56:07 jmcneill Exp $ | 1 | $NetBSD: patch-xbmc_linux_XMemUtils.cpp,v 1.2 2015/11/18 23:27:23 jmcneill Exp $ | |
2 | 2 | |||
3 | --- xbmc/linux/XMemUtils.cpp.orig 2015-10-19 06:31:15.000000000 +0000 | 3 | --- xbmc/linux/XMemUtils.cpp.orig 2015-10-19 06:31:15.000000000 +0000 | |
4 | +++ xbmc/linux/XMemUtils.cpp | 4 | +++ xbmc/linux/XMemUtils.cpp | |
5 | @@ -29,6 +29,10 @@ | 5 | @@ -29,6 +29,10 @@ | |
6 | #include <mach/mach.h> | 6 | #include <mach/mach.h> | |
7 | #endif | 7 | #endif | |
8 | 8 | |||
9 | +#if defined(TARGET_NETBSD) | 9 | +#if defined(TARGET_NETBSD) | |
10 | +#include <uvm/uvm_extern.h> | 10 | +#include <uvm/uvm_extern.h> | |
11 | +#endif | 11 | +#endif | |
12 | + | 12 | + | |
13 | #undef ALIGN | 13 | #undef ALIGN | |
14 | #define ALIGN(value, alignment) (((value)+(alignment-1))&~(alignment-1)) | 14 | #define ALIGN(value, alignment) (((value)+(alignment-1))&~(alignment-1)) | |
15 | 15 | |||
16 | @@ -55,7 +59,7 @@ void _aligned_free(void *p) { | 16 | @@ -55,7 +59,7 @@ void _aligned_free(void *p) { | |
17 | 17 | |||
18 | #ifndef TARGET_WINDOWS | 18 | #ifndef TARGET_WINDOWS | |
19 | 19 | |||
20 | -#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) | 20 | -#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) | |
21 | +#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_NETBSD) | 21 | +#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_NETBSD) | |
22 | static FILE* procMeminfoFP = NULL; | 22 | static FILE* procMeminfoFP = NULL; | |
23 | #endif | 23 | #endif | |
24 | 24 | |||
25 | @@ -139,6 +143,31 @@ void GlobalMemoryStatusEx(LPMEMORYSTATUS | 25 | @@ -139,6 +143,29 @@ void GlobalMemoryStatusEx(LPMEMORYSTATUS | |
26 | 26 | |||
27 | if (sysctlbyname("vm.stats.vm.v_swappgsout", &swap_free, &len, NULL, 0) == 0) | 27 | if (sysctlbyname("vm.stats.vm.v_swappgsout", &swap_free, &len, NULL, 0) == 0) | |
28 | lpBuffer->ullAvailPageFile = swap_free * pagesize; | 28 | lpBuffer->ullAvailPageFile = swap_free * pagesize; | |
29 | +#elif defined(TARGET_NETBSD) | 29 | +#elif defined(TARGET_NETBSD) | |
30 | + struct uvmexp_sysctl uvmexp; | 30 | + struct uvmexp_sysctl uvmexp; | |
31 | + int64_t physmem = 0, mem_inactive = 0, mem_cache = 0, mem_free = 0; | 31 | + int64_t filemin = 0; | |
32 | + int pagesize; | 32 | + int filemin_pct; | |
33 | + size_t len; | 33 | + size_t len; | |
34 | + | 34 | + | |
35 | + /* sysctl hw.physmem64 */ | 35 | + /* sysctl vm.filemin */ | |
36 | + len = sizeof(physmem); | 36 | + len = sizeof(filemin_pct); | |
37 | + if (sysctlbyname("hw.physmem64", &physmem, &len, NULL, 0) == 0) { | 37 | + if (sysctlbyname("vm.filemin", &filemin_pct, &len, NULL, 0) == 0) | |
38 | + lpBuffer->ullTotalPhys = physmem; | 38 | + { | |
39 | + lpBuffer->ullTotalVirtual = physmem; | 39 | + /* sysctl vm.uvmexp2 */ | |
40 | + len = sizeof(uvmexp); | |||
41 | + if (sysctlbyname("vm.uvmexp2", &uvmexp, &len, NULL, 0) == 0) | |||
42 | + { | |||
43 | + lpBuffer->ullTotalPhys = (uvmexp.active + uvmexp.inactive + uvmexp.free) * uvmexp.pagesize; | |||
44 | + lpBuffer->ullTotalVirtual = (uvmexp.active + uvmexp.inactive + uvmexp.free) * uvmexp.pagesize; | |||
45 | + filemin = MIN(uvmexp.filepages, ((uvmexp.active + uvmexp.inactive + uvmexp.free) * filemin_pct) / 100); | |||
46 | + lpBuffer->ullAvailPhys = (uvmexp.free + uvmexp.filepages - filemin) * uvmexp.pagesize; | |||
47 | + lpBuffer->ullAvailVirtual = (uvmexp.free + uvmexp.filepages - filemin) * uvmexp.pagesize; | |||
48 | + lpBuffer->ullAvailPageFile = (uvmexp.swpages - uvmexp.swpginuse) * uvmexp.pagesize; | |||
49 | + } | |||
40 | + } | 50 | + } | |
41 | + | 51 | + | |
42 | + /* sysctl vm.uvmexp2 */ | |||
43 | + len = sizeof(uvmexp); | |||
44 | + if (sysctlbyname("vm.uvmexp2", &uvmexp, &len, NULL, 0) == 0) { | |||
45 | + pagesize = getpagesize(); | |||
46 | + mem_inactive = uvmexp.inactive * pagesize; | |||
47 | + mem_cache = uvmexp.filepages * pagesize; | |||
48 | + mem_free = uvmexp.free * pagesize; | |||
49 | + lpBuffer->ullAvailPhys = mem_inactive + mem_cache + mem_free; | |||
50 | + lpBuffer->ullAvailVirtual = mem_inactive + mem_cache + mem_free; | |||
51 | + } | |||
52 | + | |||
53 | + /* TODO: lpBuffer->ullAvailPageFile */ | |||
54 | #else | 52 | #else | |
55 | struct sysinfo info; | 53 | struct sysinfo info; | |
56 | char name[32]; | 54 | char name[32]; |
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: patch-xbmc_utils_SystemInfo.cpp,v 1.1 2015/11/17 14:56:07 jmcneill Exp $ | 1 | $NetBSD: patch-xbmc_utils_SystemInfo.cpp,v 1.2 2015/11/18 23:27:23 jmcneill Exp $ | |
2 | 2 | |||
3 | --- xbmc/utils/SystemInfo.cpp.orig 2015-10-19 06:31:15.000000000 +0000 | 3 | --- xbmc/utils/SystemInfo.cpp.orig 2015-10-19 06:31:15.000000000 +0000 | |
4 | +++ xbmc/utils/SystemInfo.cpp | 4 | +++ xbmc/utils/SystemInfo.cpp | |
5 | @@ -66,7 +66,7 @@ | 5 | @@ -66,7 +66,7 @@ | |
6 | #elif defined(TARGET_ANDROID) | 6 | #elif defined(TARGET_ANDROID) | |
7 | #include <android/api-level.h> | 7 | #include <android/api-level.h> | |
8 | #include <sys/system_properties.h> | 8 | #include <sys/system_properties.h> | |
9 | -#elif defined(TARGET_FREEBSD) | 9 | -#elif defined(TARGET_FREEBSD) | |
10 | +#elif defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) | 10 | +#elif defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) | |
11 | #include <sys/param.h> | 11 | #include <sys/param.h> | |
12 | #elif defined(TARGET_LINUX) | 12 | #elif defined(TARGET_LINUX) | |
13 | #include <linux/version.h> | 13 | #include <linux/version.h> | |
14 | @@ -607,8 +607,8 @@ std::string CSysInfo::GetOsName(bool emp | 14 | @@ -607,8 +607,8 @@ std::string CSysInfo::GetOsName(bool emp | |
@@ -32,45 +32,56 @@ $NetBSD: patch-xbmc_utils_SystemInfo.cpp | @@ -32,45 +32,56 @@ $NetBSD: patch-xbmc_utils_SystemInfo.cpp | |||
32 | + osVersion = GetKernelVersion(); // FIXME: for Win32, FreeBSD, and NetBSD OS version is a kernel version | 32 | + osVersion = GetKernelVersion(); // FIXME: for Win32, FreeBSD, and NetBSD OS version is a kernel version | |
33 | #elif defined(TARGET_DARWIN_IOS) | 33 | #elif defined(TARGET_DARWIN_IOS) | |
34 | osVersion = CDarwinUtils::GetIOSVersionString(); | 34 | osVersion = CDarwinUtils::GetIOSVersionString(); | |
35 | #elif defined(TARGET_DARWIN_OSX) | 35 | #elif defined(TARGET_DARWIN_OSX) | |
36 | @@ -736,7 +736,7 @@ std::string CSysInfo::GetOsPrettyNameWit | 36 | @@ -736,7 +736,7 @@ std::string CSysInfo::GetOsPrettyNameWit | |
37 | } | 37 | } | |
38 | else | 38 | else | |
39 | osNameVer.append(" unknown"); | 39 | osNameVer.append(" unknown"); | |
40 | -#elif defined(TARGET_FREEBSD) || defined(TARGET_DARWIN_IOS) || defined(TARGET_DARWIN_OSX) | 40 | -#elif defined(TARGET_FREEBSD) || defined(TARGET_DARWIN_IOS) || defined(TARGET_DARWIN_OSX) | |
41 | +#elif defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) || defined(TARGET_DARWIN_IOS) || defined(TARGET_DARWIN_OSX) | 41 | +#elif defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) || defined(TARGET_DARWIN_IOS) || defined(TARGET_DARWIN_OSX) | |
42 | osNameVer = GetOsName() + " " + GetOsVersion(); | 42 | osNameVer = GetOsName() + " " + GetOsVersion(); | |
43 | #elif defined(TARGET_ANDROID) | 43 | #elif defined(TARGET_ANDROID) | |
44 | osNameVer = GetOsName() + " " + GetOsVersion() + " API level " + StringUtils::Format("%d", CJNIBuild::SDK_INT); | 44 | osNameVer = GetOsName() + " " + GetOsVersion() + " API level " + StringUtils::Format("%d", CJNIBuild::SDK_INT); | |
45 | @@ -1251,6 +1251,8 @@ std::string CSysInfo::GetBuildTargetPlat | 45 | @@ -992,6 +992,10 @@ const std::string& CSysInfo::GetKernelCp | |
46 | std::string machine(un.machine); | |||
47 | if (machine.compare(0, 3, "arm", 3) == 0) | |||
48 | kernelCpuFamily = "ARM"; | |||
49 | +#if defined(TARGET_NETBSD) | |||
50 | + else if (machine.compare(0, 6, "evbarm", 6) == 0) | |||
51 | + kernelCpuFamily = "ARM"; | |||
52 | +#endif | |||
53 | else if (machine.compare(0, 4, "mips", 4) == 0) | |||
54 | kernelCpuFamily = "MIPS"; | |||
55 | else if (machine.compare(0, 4, "i686", 4) == 0 || machine == "i386" || machine == "amd64" || machine.compare(0, 3, "x86", 3) == 0) | |||
56 | @@ -1251,6 +1255,8 @@ std::string CSysInfo::GetBuildTargetPlat | |||
46 | return "iOS"; | 57 | return "iOS"; | |
47 | #elif defined(TARGET_FREEBSD) | 58 | #elif defined(TARGET_FREEBSD) | |
48 | return "FreeBSD"; | 59 | return "FreeBSD"; | |
49 | +#elif defined(TARGET_NETBSD) | 60 | +#elif defined(TARGET_NETBSD) | |
50 | + return "NetBSD"; | 61 | + return "NetBSD"; | |
51 | #elif defined(TARGET_ANDROID) | 62 | #elif defined(TARGET_ANDROID) | |
52 | return "Android"; | 63 | return "Android"; | |
53 | #elif defined(TARGET_LINUX) | 64 | #elif defined(TARGET_LINUX) | |
54 | @@ -1274,6 +1276,8 @@ std::string CSysInfo::GetBuildTargetPlat | 65 | @@ -1274,6 +1280,8 @@ std::string CSysInfo::GetBuildTargetPlat | |
55 | return XSTR_MACRO(__IPHONE_OS_VERSION_MIN_REQUIRED); | 66 | return XSTR_MACRO(__IPHONE_OS_VERSION_MIN_REQUIRED); | |
56 | #elif defined(TARGET_FREEBSD) | 67 | #elif defined(TARGET_FREEBSD) | |
57 | return XSTR_MACRO(__FreeBSD_version); | 68 | return XSTR_MACRO(__FreeBSD_version); | |
58 | +#elif defined(TARGET_NETBSD) | 69 | +#elif defined(TARGET_NETBSD) | |
59 | + return XSTR_MACRO(__NetBSD_Version__); | 70 | + return XSTR_MACRO(__NetBSD_Version__); | |
60 | #elif defined(TARGET_ANDROID) | 71 | #elif defined(TARGET_ANDROID) | |
61 | return "API level " XSTR_MACRO(__ANDROID_API__); | 72 | return "API level " XSTR_MACRO(__ANDROID_API__); | |
62 | #elif defined(TARGET_LINUX) | 73 | #elif defined(TARGET_LINUX) | |
63 | @@ -1320,6 +1324,14 @@ std::string CSysInfo::GetBuildTargetPlat | 74 | @@ -1320,6 +1328,14 @@ std::string CSysInfo::GetBuildTargetPlat | |
64 | return StringUtils::Format("version %d.%d-STABLE", major, minor); | 75 | return StringUtils::Format("version %d.%d-STABLE", major, minor); | |
65 | 76 | |||
66 | return StringUtils::Format("version %d.%d-CURRENT", major, minor); | 77 | return StringUtils::Format("version %d.%d-CURRENT", major, minor); | |
67 | +#elif defined(TARGET_NETBSD) | 78 | +#elif defined(TARGET_NETBSD) | |
68 | + static const int major = (__NetBSD_Version__ / 100000000) % 100; | 79 | + static const int major = (__NetBSD_Version__ / 100000000) % 100; | |
69 | + static const int minor = (__NetBSD_Version__ / 1000000) % 100; | 80 | + static const int minor = (__NetBSD_Version__ / 1000000) % 100; | |
70 | + static const int patch = (__NetBSD_Version__ / 100) % 100; | 81 | + static const int patch = (__NetBSD_Version__ / 100) % 100; | |
71 | + if (patch != 0) | 82 | + if (patch != 0) | |
72 | + return StringUtils::Format("version %d.%d.%d", major, minor, patch); | 83 | + return StringUtils::Format("version %d.%d.%d", major, minor, patch); | |
73 | + else | 84 | + else | |
74 | + return StringUtils::Format("version %d.%d", major, minor); | 85 | + return StringUtils::Format("version %d.%d", major, minor); | |
75 | #elif defined(TARGET_ANDROID) | 86 | #elif defined(TARGET_ANDROID) | |
76 | return "API level " XSTR_MACRO(__ANDROID_API__); | 87 | return "API level " XSTR_MACRO(__ANDROID_API__); |
@@ -1,59 +1,107 @@ | @@ -1,59 +1,107 @@ | |||
1 | $NetBSD: patch-xbmc_utils_CPUInfo.cpp,v 1.3 2015/11/17 18:15:33 jmcneill Exp $ | 1 | $NetBSD: patch-xbmc_utils_CPUInfo.cpp,v 1.4 2015/11/18 23:27:23 jmcneill Exp $ | |
2 | 2 | |||
3 | --- xbmc/utils/CPUInfo.cpp.orig 2015-10-19 06:31:15.000000000 +0000 | 3 | --- xbmc/utils/CPUInfo.cpp.orig 2015-10-19 06:31:15.000000000 +0000 | |
4 | +++ xbmc/utils/CPUInfo.cpp | 4 | +++ xbmc/utils/CPUInfo.cpp | |
5 | @@ -36,7 +36,7 @@ | 5 | @@ -36,7 +36,7 @@ | |
6 | #endif | 6 | #endif | |
7 | #endif | 7 | #endif | |
8 | 8 | |||
9 | -#if defined(TARGET_FREEBSD) | 9 | -#if defined(TARGET_FREEBSD) | |
10 | +#if defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) | 10 | +#if defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) | |
11 | #include <sys/types.h> | 11 | #include <sys/types.h> | |
12 | #include <sys/sysctl.h> | 12 | #include <sys/sysctl.h> | |
13 | #include <sys/resource.h> | 13 | #include <sys/resource.h> | |
14 | @@ -234,7 +234,7 @@ CCPUInfo::CCPUInfo(void) | 14 | @@ -234,7 +234,7 @@ CCPUInfo::CCPUInfo(void) | |
15 | } | 15 | } | |
16 | else | 16 | else | |
17 | m_cpuQueryLoad = NULL; | 17 | m_cpuQueryLoad = NULL; | |
18 | -#elif defined(TARGET_FREEBSD) | 18 | -#elif defined(TARGET_FREEBSD) | |
19 | +#elif defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) | 19 | +#elif defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) | |
20 | size_t len; | 20 | size_t len; | |
21 | int i; | 21 | int i; | |
22 | char cpumodel[512]; | 22 | char cpumodel[512]; | |
23 | @@ -538,6 +538,8 @@ float CCPUInfo::getCPUFrequency() | 23 | @@ -538,6 +538,12 @@ float CCPUInfo::getCPUFrequency() | |
24 | if (sysctlbyname("dev.cpu.0.freq", &hz, &len, NULL, 0) != 0) | 24 | if (sysctlbyname("dev.cpu.0.freq", &hz, &len, NULL, 0) != 0) | |
25 | hz = 0; | 25 | hz = 0; | |
26 | return (float)hz; | 26 | return (float)hz; | |
27 | +#elif defined(TARGET_NETBSD) | 27 | +#elif defined(TARGET_NETBSD) | |
28 | + return 0.f; | 28 | + int hz = 0; | |
29 | + size_t len = sizeof(hz); | |||
30 | + if (sysctlbyname("machdep.cpu.frequency.current", &hz, &len, NULL, 0) != 0) | |||
31 | + hz = 0; | |||
32 | + return (float)hz; | |||
29 | #else | 33 | #else | |
30 | int value = 0; | 34 | int value = 0; | |
31 | if (m_fCPUFreq && !m_cpuInfoForFreq) | 35 | if (m_fCPUFreq && !m_cpuInfoForFreq) | |
32 | @@ -758,6 +760,8 @@ bool CCPUInfo::readProcStat(unsigned lon | 36 | @@ -699,7 +705,8 @@ bool CCPUInfo::readProcStat(unsigned lon | |
33 | } | 37 | else | |
38 | for (std::map<int, CoreInfo>::iterator it = m_cores.begin(); it != m_cores.end(); ++it) | |||
39 | it->second.m_fPct = double(m_lastUsedPercentage); // use CPU average as fallback | |||
40 | -#elif defined(TARGET_FREEBSD) | |||
41 | +#elif defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) | |||
42 | +#if defined(TARGET_FREEBSD) | |||
43 | long *cptimes; | |||
44 | size_t len; | |||
45 | int i; | |||
46 | @@ -715,6 +722,19 @@ bool CCPUInfo::readProcStat(unsigned lon | |||
47 | free(cptimes); | |||
48 | return false; | |||
34 | } | 49 | } | |
35 | free(cptimes); | |||
36 | +#elif defined(TARGET_NETBSD) | 50 | +#elif defined(TARGET_NETBSD) | |
37 | + return false; | 51 | + uint64_t *cptimes; | |
38 | #else | 52 | + size_t len; | |
39 | if (m_fProcStat == NULL) | 53 | + int i; | |
40 | return false; | 54 | + | |
41 | @@ -931,6 +935,18 @@ bool CCPUInfo::HasNeon() | 55 | + len = sizeof(*cptimes) * m_cpuCount * CPUSTATES; | |
56 | + cptimes = (uint64_t*)malloc(len); | |||
57 | + if (sysctlbyname("kern.cp_time", cptimes, &len, NULL, 0) != 0) | |||
58 | + { | |||
59 | + free(cptimes); | |||
60 | + return false; | |||
61 | + } | |||
62 | +#endif | |||
63 | user = 0; | |||
64 | nice = 0; | |||
65 | system = 0; | |||
66 | @@ -722,7 +742,11 @@ bool CCPUInfo::readProcStat(unsigned lon | |||
67 | io = 0; | |||
68 | for (i = 0; i < m_cpuCount; i++) | |||
69 | { | |||
70 | +#if defined(TARGET_NETBSD) | |||
71 | + int64_t coreUser, coreNice, coreSystem, coreIdle, coreIO; | |||
72 | +#else | |||
73 | long coreUser, coreNice, coreSystem, coreIdle, coreIO; | |||
74 | +#endif | |||
75 | double total; | |||
76 | ||||
77 | coreUser = cptimes[i * CPUSTATES + CP_USER]; | |||
78 | @@ -741,7 +765,9 @@ bool CCPUInfo::readProcStat(unsigned lon | |||
79 | coreIO -= iter->second.m_io; | |||
80 | ||||
81 | total = (double)(coreUser + coreNice + coreSystem + coreIdle + coreIO); | |||
82 | - if(total != 0.0f) | |||
83 | + if(total == 0.0f) | |||
84 | + iter->second.m_fPct = 0.0f; | |||
85 | + else | |||
86 | iter->second.m_fPct = ((double)(coreUser + coreNice + coreSystem) * 100.0) / total; | |||
87 | ||||
88 | iter->second.m_user += coreUser; | |||
89 | @@ -931,6 +957,18 @@ bool CCPUInfo::HasNeon() | |||
42 | #elif defined(TARGET_DARWIN_IOS) | 90 | #elif defined(TARGET_DARWIN_IOS) | |
43 | has_neon = 1; | 91 | has_neon = 1; | |
44 | 92 | |||
45 | +#elif defined(TARGET_NETBSD) && defined(__ARM_NEON__) | 93 | +#elif defined(TARGET_NETBSD) && defined(__ARM_NEON__) | |
46 | + if (has_neon == -1) | 94 | + if (has_neon == -1) | |
47 | + { | 95 | + { | |
48 | + has_neon = 0; | 96 | + has_neon = 0; | |
49 | + int flag; | 97 | + int flag; | |
50 | + size_t len = sizeof(flag); | 98 | + size_t len = sizeof(flag); | |
51 | + if (sysctlbyname("machdep.neon_present", &flag, &len, NULL, 0) == 0) | 99 | + if (sysctlbyname("machdep.neon_present", &flag, &len, NULL, 0) == 0) | |
52 | + { | 100 | + { | |
53 | + has_neon = flag; | 101 | + has_neon = 1; | |
54 | + } | 102 | + } | |
55 | + } | 103 | + } | |
56 | + | 104 | + | |
57 | #elif defined(TARGET_LINUX) && defined(__ARM_NEON__) | 105 | #elif defined(TARGET_LINUX) && defined(__ARM_NEON__) | |
58 | if (has_neon == -1) | 106 | if (has_neon == -1) | |
59 | { | 107 | { |
$NetBSD: patch-xbmc_windows_GUIWindowSystemInfo.cpp,v 1.1 2015/11/18 23:27:23 jmcneill Exp $
--- xbmc/windows/GUIWindowSystemInfo.cpp.orig 2015-10-19 06:31:15.000000000 +0000
+++ xbmc/windows/GUIWindowSystemInfo.cpp
@@ -157,7 +157,7 @@ void CGUIWindowSystemInfo::FrameMove()
SET_CONTROL_LABEL(i++, g_sysinfo.GetCPUSerial());
#endif
SetControlLabel(i++, "%s %s", 22011, SYSTEM_CPU_TEMPERATURE);
-#if !defined(__arm__) || defined(TARGET_RASPBERRY_PI)
+#if !defined(__arm__) || defined(TARGET_RASPBERRY_PI) || defined(TARGET_NETBSD)
SetControlLabel(i++, "%s %s", 13284, SYSTEM_CPUFREQUENCY);
#endif
#endif