Update to MesaLib-10.5.7. MesaLib-10.5.7 2015-06-07 "The current release includes over a dozen nouveau fixes (mostly targeting nv30/nv40 era hardware), i965 patches and a crash fix common to all the gallium dri modules." MesaLib-10.5.6 2015-05-24 "This time around we have fixes from all over mesa - core mesa, driver specific patches (i965, nouveau, freedreno), reentrancy improvements in Clover (OpenCL), GLX and EGL loader patches, and Darwin build fixes."diff -r1.103 -r1.104 pkgsrc/graphics/MesaLib/Makefile
(tnn)
@@ -1,19 +1,19 @@ | @@ -1,19 +1,19 @@ | |||
1 | # $NetBSD: Makefile,v 1.103 2015/05/15 14:27:42 nros Exp $ | 1 | # $NetBSD: Makefile,v 1.104 2015/06/07 15:48:12 tnn Exp $ | |
2 | 2 | |||
3 | DISTNAME= mesa-10.5.5 | 3 | DISTNAME= mesa-10.5.7 | |
4 | PKGNAME= ${DISTNAME:S/mesa/MesaLib/} | 4 | PKGNAME= ${DISTNAME:S/mesa/MesaLib/} | |
5 | CATEGORIES= graphics x11 | 5 | CATEGORIES= graphics x11 | |
6 | MASTER_SITES= ftp://ftp.freedesktop.org/pub/mesa/10.5.5/ | 6 | MASTER_SITES= ftp://ftp.freedesktop.org/pub/mesa/${PKGVERSION_NOREV}/ | |
7 | EXTRACT_SUFX= .tar.xz | 7 | EXTRACT_SUFX= .tar.xz | |
8 | 8 | |||
9 | MAINTAINER= pkgsrc-users@NetBSD.org | 9 | MAINTAINER= pkgsrc-users@NetBSD.org | |
10 | HOMEPAGE= http://www.mesa3d.org/ | 10 | HOMEPAGE= http://www.mesa3d.org/ | |
11 | COMMENT= The Mesa 3D Graphics Library | 11 | COMMENT= The Mesa 3D Graphics Library | |
12 | LICENSE= mit | 12 | LICENSE= mit | |
13 | 13 | |||
14 | GNU_CONFIGURE= yes | 14 | GNU_CONFIGURE= yes | |
15 | USE_TOOLS+= pkg-config gmake | 15 | USE_TOOLS+= pkg-config gmake | |
16 | USE_LANGUAGES= c99 c++ | 16 | USE_LANGUAGES= c99 c++ | |
17 | USE_LIBTOOL= yes | 17 | USE_LIBTOOL= yes | |
18 | 18 | |||
19 | GCC_REQD+= 4.2 | 19 | GCC_REQD+= 4.2 |
@@ -1,36 +1,36 @@ | @@ -1,36 +1,36 @@ | |||
1 | $NetBSD: distinfo,v 1.95 2015/05/16 16:39:52 tnn Exp $ | 1 | $NetBSD: distinfo,v 1.96 2015/06/07 15:48:12 tnn Exp $ | |
2 | 2 | |||
3 | SHA1 (mesa-10.5.5.tar.xz) = 367f78c244a34eeb5e8fc4531228166ea1118165 | 3 | SHA1 (mesa-10.5.7.tar.xz) = b600f09ccaeab9f6bb5b98091cf01732bab854a2 | |
4 | RMD160 (mesa-10.5.5.tar.xz) = 3d73894defb5badf8bde0d026c7802f55aa24484 | 4 | RMD160 (mesa-10.5.7.tar.xz) = 0e15cf97678ecdc95996b598169130dcfd239533 | |
5 | Size (mesa-10.5.5.tar.xz) = 6989964 bytes | 5 | Size (mesa-10.5.7.tar.xz) = 6992848 bytes | |
6 | SHA1 (patch-configure) = 3fc150370e36fc49382b491d907608f00cf99a72 | 6 | SHA1 (patch-configure) = 3fc150370e36fc49382b491d907608f00cf99a72 | |
7 | SHA1 (patch-include_EGL_eglplatform.h) = c34bac7386fd93ee8d0b83a748ae14dc4742d776 | 7 | SHA1 (patch-include_EGL_eglplatform.h) = c34bac7386fd93ee8d0b83a748ae14dc4742d776 | |
8 | SHA1 (patch-include_GL_glxext.h) = 830902f2d38a8395cda682c059fc5223e1b0e89e | 8 | SHA1 (patch-include_GL_glxext.h) = 830902f2d38a8395cda682c059fc5223e1b0e89e | |
9 | SHA1 (patch-src_gallium_auxiliary_util_u__format__tests.c) = 4d5e4677c2825778c43440ab131b8807f6840975 | 9 | SHA1 (patch-src_gallium_auxiliary_util_u__format__tests.c) = 4d5e4677c2825778c43440ab131b8807f6840975 | |
10 | SHA1 (patch-src_gallium_auxiliary_util_u__math.h) = b126390d4a8ee495edfb4c3b1dfdab981445969e | 10 | SHA1 (patch-src_gallium_auxiliary_util_u__math.h) = b126390d4a8ee495edfb4c3b1dfdab981445969e | |
11 | SHA1 (patch-src_gallium_auxiliary_util_u__network.c) = 283f505af780071dc9fd7914f8065e3fb7d8a4fd | 11 | SHA1 (patch-src_gallium_auxiliary_util_u__network.c) = 283f505af780071dc9fd7914f8065e3fb7d8a4fd | |
12 | SHA1 (patch-src_gallium_auxiliary_util_u__network.h) = c6106d67b4fa9db0d790474182d6e0ce0c5da677 | 12 | SHA1 (patch-src_gallium_auxiliary_util_u__network.h) = c6106d67b4fa9db0d790474182d6e0ce0c5da677 | |
13 | SHA1 (patch-src_gallium_drivers_nouveau_codegen_nv50__ir__peephole.cpp) = 5fc2ef7eafac3006896af96bac8176c79b17cfdc | 13 | SHA1 (patch-src_gallium_drivers_nouveau_codegen_nv50__ir__peephole.cpp) = 5fc2ef7eafac3006896af96bac8176c79b17cfdc | |
14 | SHA1 (patch-src_gallium_drivers_nouveau_nouveau__vp3__video.c) = ae1b6eb4df3e4db0f37e44118cdf69b16f3c471e | 14 | SHA1 (patch-src_gallium_drivers_nouveau_nouveau__vp3__video.c) = ae1b6eb4df3e4db0f37e44118cdf69b16f3c471e | |
15 | SHA1 (patch-src_gallium_drivers_nouveau_nv50_nv84__video.c) = 1b4239fe053523835ecac006894bdb0cde0ee626 | 15 | SHA1 (patch-src_gallium_drivers_nouveau_nv50_nv84__video.c) = 1b4239fe053523835ecac006894bdb0cde0ee626 | |
16 | SHA1 (patch-src_gallium_include_pipe_p__config.h) = 1698482bb7b468c6fa5f9bb553f9065cecc33f0d | 16 | SHA1 (patch-src_gallium_include_pipe_p__config.h) = 1698482bb7b468c6fa5f9bb553f9065cecc33f0d | |
17 | SHA1 (patch-src_gallium_targets_dri_Makefile.in) = a9a8265d97297040a3e3260b362ca920ec852280 | 17 | SHA1 (patch-src_gallium_targets_dri_Makefile.in) = a9a8265d97297040a3e3260b362ca920ec852280 | |
18 | SHA1 (patch-src_gallium_winsys_radeon_drm_radeon__drm__winsys.c) = 2358b7d5ea89e28cb3ac07a408b18e8bf55e057a | 18 | SHA1 (patch-src_gallium_winsys_radeon_drm_radeon__drm__winsys.c) = 2358b7d5ea89e28cb3ac07a408b18e8bf55e057a | |
19 | SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen.c) = 4b2ae565377b1a0396c8bf6b2663c261592b8e5e | 19 | SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen.c) = 4b2ae565377b1a0396c8bf6b2663c261592b8e5e | |
20 | SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c) = e4b891e8b4ebe5b8e8c7b8c2c1dbed11b9c417df | 20 | SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c) = e4b891e8b4ebe5b8e8c7b8c2c1dbed11b9c417df | |
21 | SHA1 (patch-src_gbm_main_gbm.c) = 70225ab7352f123c9efc68b6d4ff0d9675b6f9dc | 21 | SHA1 (patch-src_gbm_main_gbm.c) = 70225ab7352f123c9efc68b6d4ff0d9675b6f9dc | |
22 | SHA1 (patch-src_glsl_ralloc.c) = 7443d00ff05ee1e1dcfa2b76972b55abadebcad8 | 22 | SHA1 (patch-src_glsl_ralloc.c) = 7443d00ff05ee1e1dcfa2b76972b55abadebcad8 | |
23 | SHA1 (patch-src_mapi_entry__x86-64__tls.h) = c722ce4a22911d9a3d04e1a4fd6ab1a5ddd81cf0 | 23 | SHA1 (patch-src_mapi_entry__x86-64__tls.h) = c722ce4a22911d9a3d04e1a4fd6ab1a5ddd81cf0 | |
24 | SHA1 (patch-src_mapi_entry__x86__tls.h) = 51d6ef1aa3db69b23eea6fe145a54c0e7e265190 | 24 | SHA1 (patch-src_mapi_entry__x86__tls.h) = 51d6ef1aa3db69b23eea6fe145a54c0e7e265190 | |
25 | SHA1 (patch-src_mapi_entry__x86__tsd.h) = 62501b6e609fa81e33fd826a694e9d9752a7ba21 | 25 | SHA1 (patch-src_mapi_entry__x86__tsd.h) = 62501b6e609fa81e33fd826a694e9d9752a7ba21 | |
26 | SHA1 (patch-src_mesa_drivers_dri_Makefile.in) = b016b3f9324b05e4206e1c23150bd1cde9b9e100 | 26 | SHA1 (patch-src_mesa_drivers_dri_Makefile.in) = b016b3f9324b05e4206e1c23150bd1cde9b9e100 | |
27 | SHA1 (patch-src_mesa_drivers_dri_common_Makefile.in) = 5e160f7d92c2e9f3fa36e52a082a496af67e634e | 27 | SHA1 (patch-src_mesa_drivers_dri_common_Makefile.in) = 5e160f7d92c2e9f3fa36e52a082a496af67e634e | |
28 | SHA1 (patch-src_mesa_drivers_dri_common_xmlconfig.c) = 8c8e748397bcdc9b9abbd14604af5d79de08dfbf | 28 | SHA1 (patch-src_mesa_drivers_dri_common_xmlconfig.c) = 8c8e748397bcdc9b9abbd14604af5d79de08dfbf | |
29 | SHA1 (patch-src_mesa_drivers_dri_i915_intel__screen.c) = 616cec356fb098e9fd349489a577aeacf6f412e4 | 29 | SHA1 (patch-src_mesa_drivers_dri_i915_intel__screen.c) = fd8436e4e3a69250256c2cddf8138effb16bd7b3 | |
30 | SHA1 (patch-src_mesa_drivers_dri_i965_intel__screen.c) = 632d9a95e514d0b63fb54f31827c0aacc28ace94 | 30 | SHA1 (patch-src_mesa_drivers_dri_i965_intel__screen.c) = 7c1a1e5c549f64d4c390e0c87984c44a88d4abfe | |
31 | SHA1 (patch-src_mesa_drivers_dri_swrast_swrast.c) = abca30898144b7014cdddcc7c7e808087704b596 | 31 | SHA1 (patch-src_mesa_drivers_dri_swrast_swrast.c) = b8a6cca517e1cccbdb2c59cf67a6d2481cdfebd4 | |
32 | SHA1 (patch-src_mesa_main_compiler.h) = fc0e2b6be8afa9e21ddca1d1a14608a1687bddd8 | 32 | SHA1 (patch-src_mesa_main_compiler.h) = fc0e2b6be8afa9e21ddca1d1a14608a1687bddd8 | |
33 | SHA1 (patch-src_mesa_main_context.c) = 30c3796865372aa16297c2aaa647ddb49958fa64 | 33 | SHA1 (patch-src_mesa_main_context.c) = 30c3796865372aa16297c2aaa647ddb49958fa64 | |
34 | SHA1 (patch-src_mesa_main_shader__query.cpp) = 6273c74161f045363c58f38adeb672287f6a0898 | 34 | SHA1 (patch-src_mesa_main_shader__query.cpp) = 6273c74161f045363c58f38adeb672287f6a0898 | |
35 | SHA1 (patch-src_mesa_x86_common__x86.c) = f8b36603f7495b7712943c4a86459bcdd733d6a2 | 35 | SHA1 (patch-src_mesa_x86_common__x86.c) = f8b36603f7495b7712943c4a86459bcdd733d6a2 | |
36 | SHA1 (patch-src_util_u__atomic.h) = 4a567b6fe5bf67fb7f386fa5f37bedb66d593085 | 36 | SHA1 (patch-src_util_u__atomic.h) = 4a567b6fe5bf67fb7f386fa5f37bedb66d593085 |
@@ -1,37 +1,39 @@ | @@ -1,37 +1,39 @@ | |||
1 | $NetBSD: patch-src_mesa_drivers_dri_i915_intel__screen.c,v 1.1 2015/04/25 11:19:18 tnn Exp $ | 1 | $NetBSD: patch-src_mesa_drivers_dri_i915_intel__screen.c,v 1.2 2015/06/07 15:48:12 tnn Exp $ | |
2 | 2 | |||
3 | Fix build on older NetBSD w/o _SC_PHYS_PAGES. | 3 | Fix build on older NetBSD w/o _SC_PHYS_PAGES. | |
4 | 4 | |||
5 | --- src/mesa/drivers/dri/i915/intel_screen.c.orig 2015-03-28 18:20:39.000000000 +0000 | 5 | --- src/mesa/drivers/dri/i915/intel_screen.c.orig 2015-06-07 10:06:53.000000000 +0000 | |
6 | +++ src/mesa/drivers/dri/i915/intel_screen.c | 6 | +++ src/mesa/drivers/dri/i915/intel_screen.c | |
7 | @@ -41,6 +41,11 @@ | 7 | @@ -41,6 +41,10 @@ | |
8 | #include "utils.h" | 8 | #include "utils.h" | |
9 | #include "xmlpool.h" | 9 | #include "xmlpool.h" | |
10 | 10 | |||
11 | +#if defined(__NetBSD__) | 11 | +#ifdef HAVE_SYS_SYSCTL_H | |
12 | +#include <sys/param.h> | 12 | +# include <sys/sysctl.h> | |
13 | +#include <sys/sysctl.h> | |||
14 | +#endif | 13 | +#endif | |
15 | + | 14 | + | |
16 | static const __DRIconfigOptionsExtension i915_config_options = { | 15 | static const __DRIconfigOptionsExtension i915_config_options = { | |
17 | .base = { __DRI_CONFIG_OPTIONS, 1 }, | 16 | .base = { __DRI_CONFIG_OPTIONS, 1 }, | |
18 | .xml = | 17 | .xml = | |
19 | @@ -732,7 +737,18 @@ i915_query_renderer_integer(__DRIscreen | 18 | @@ -732,6 +736,13 @@ i915_query_renderer_integer(__DRIscreen | |
20 | const unsigned gpu_mappable_megabytes = | 19 | const unsigned gpu_mappable_megabytes = | |
21 | (aper_size / (1024 * 1024)) * 3 / 4; | 20 | (aper_size / (1024 * 1024)) * 3 / 4; | |
22 | 21 | |||
23 | +#if !defined(_SC_PHYS_PAGES) && defined(__NetBSD__) | 22 | +#if defined(HW_PHYSMEM64) | |
24 | + uint64_t physmem64; | 23 | + int mib[2] = { CTL_HW, HW_PHYSMEM64 }; | |
25 | + uint32_t pagesize; | 24 | + uint64_t system_memory_bytes; | |
26 | + size_t len; | 25 | + size_t len = sizeof(system_memory_bytes); | |
27 | + int ret1 = sysctlbyname("hw.physmem64", &physmem64, &len, (void*)NULL, 0); | 26 | + if (sysctl(mib, 2, &system_memory_bytes, &len, NULL, 0) != 0) | |
28 | + int ret2 = sysctlbyname("hw.pagesize", &pagesize, &len, (void*)NULL, 0); | 27 | + return -1; | |
29 | + const long system_memory_pages = \ | |||
30 | + (ret1 == 0 && ret2 == 0 && physmem64 > 0 && pagesize > 0) ? | |||
31 | + (physmem64 / pagesize) : -1; | |||
32 | +#else | 28 | +#else | |
33 | const long system_memory_pages = sysconf(_SC_PHYS_PAGES); | 29 | const long system_memory_pages = sysconf(_SC_PHYS_PAGES); | |
34 | +#endif | |||
35 | const long system_page_size = sysconf(_SC_PAGE_SIZE); | 30 | const long system_page_size = sysconf(_SC_PAGE_SIZE); | |
36 | 31 | |||
37 | if (system_memory_pages <= 0 || system_page_size <= 0) | 32 | @@ -740,6 +751,7 @@ i915_query_renderer_integer(__DRIscreen | |
33 | ||||
34 | const uint64_t system_memory_bytes = (uint64_t) system_memory_pages | |||
35 | * (uint64_t) system_page_size; | |||
36 | +#endif | |||
37 | ||||
38 | const unsigned system_memory_megabytes = | |||
39 | (unsigned) (system_memory_bytes / (1024 * 1024)); |
@@ -1,37 +1,39 @@ | @@ -1,37 +1,39 @@ | |||
1 | $NetBSD: patch-src_mesa_drivers_dri_i965_intel__screen.c,v 1.1 2015/04/25 11:19:18 tnn Exp $ | 1 | $NetBSD: patch-src_mesa_drivers_dri_i965_intel__screen.c,v 1.2 2015/06/07 15:48:12 tnn Exp $ | |
2 | 2 | |||
3 | Fix build on older NetBSD w/o _SC_PHYS_PAGES. | 3 | Fix build on older NetBSD w/o _SC_PHYS_PAGES. | |
4 | 4 | |||
5 | --- src/mesa/drivers/dri/i965/intel_screen.c.orig 2015-03-28 18:20:39.000000000 +0000 | 5 | --- src/mesa/drivers/dri/i965/intel_screen.c.orig 2015-06-07 10:06:53.000000000 +0000 | |
6 | +++ src/mesa/drivers/dri/i965/intel_screen.c | 6 | +++ src/mesa/drivers/dri/i965/intel_screen.c | |
7 | @@ -42,6 +42,11 @@ | 7 | @@ -42,6 +42,10 @@ | |
8 | #include "utils.h" | 8 | #include "utils.h" | |
9 | #include "xmlpool.h" | 9 | #include "xmlpool.h" | |
10 | 10 | |||
11 | +#if defined(__NetBSD__) | 11 | +#ifdef HAVE_SYS_SYSCTL_H | |
12 | +#include <sys/param.h> | 12 | +# include <sys/sysctl.h> | |
13 | +#include <sys/sysctl.h> | |||
14 | +#endif | 13 | +#endif | |
15 | + | 14 | + | |
16 | static const __DRIconfigOptionsExtension brw_config_options = { | 15 | static const __DRIconfigOptionsExtension brw_config_options = { | |
17 | .base = { __DRI_CONFIG_OPTIONS, 1 }, | 16 | .base = { __DRI_CONFIG_OPTIONS, 1 }, | |
18 | .xml = | 17 | .xml = | |
19 | @@ -829,7 +834,18 @@ brw_query_renderer_integer(__DRIscreen * | 18 | @@ -829,6 +833,13 @@ brw_query_renderer_integer(__DRIscreen * | |
20 | const unsigned gpu_mappable_megabytes = | 19 | const unsigned gpu_mappable_megabytes = | |
21 | (aper_size / (1024 * 1024)) * 3 / 4; | 20 | (aper_size / (1024 * 1024)) * 3 / 4; | |
22 | 21 | |||
23 | +#if !defined(_SC_PHYS_PAGES) && defined(__NetBSD__) | 22 | +#if defined(HW_PHYSMEM64) | |
24 | + uint64_t physmem64; | 23 | + int mib[2] = { CTL_HW, HW_PHYSMEM64 }; | |
25 | + uint32_t pagesize; | 24 | + const uint64_t system_memory_bytes; | |
26 | + size_t len; | 25 | + size_t len = sizeof(system_memory_bytes); | |
27 | + int ret1 = sysctlbyname("hw.physmem64", &physmem64, &len, (void*)NULL, 0); | 26 | + if (sysctl(mib, 2, &system_memory_bytes, &len, NULL, 0) != 0) | |
28 | + int ret2 = sysctlbyname("hw.pagesize", &pagesize, &len, (void*)NULL, 0); | 27 | + return -1; | |
29 | + const long system_memory_pages = \ | |||
30 | + (ret1 == 0 && ret2 == 0 && physmem64 > 0 && pagesize > 0) ? | |||
31 | + (physmem64 / pagesize) : -1; | |||
32 | +#else | 28 | +#else | |
33 | const long system_memory_pages = sysconf(_SC_PHYS_PAGES); | 29 | const long system_memory_pages = sysconf(_SC_PHYS_PAGES); | |
34 | +#endif | |||
35 | const long system_page_size = sysconf(_SC_PAGE_SIZE); | 30 | const long system_page_size = sysconf(_SC_PAGE_SIZE); | |
36 | 31 | |||
37 | if (system_memory_pages <= 0 || system_page_size <= 0) | 32 | @@ -837,6 +848,7 @@ brw_query_renderer_integer(__DRIscreen * | |
33 | ||||
34 | const uint64_t system_memory_bytes = (uint64_t) system_memory_pages | |||
35 | * (uint64_t) system_page_size; | |||
36 | +#endif | |||
37 | ||||
38 | const unsigned system_memory_megabytes = | |||
39 | (unsigned) (system_memory_bytes / (1024 * 1024)); |
@@ -1,37 +1,19 @@ | @@ -1,37 +1,19 @@ | |||
1 | $NetBSD: patch-src_mesa_drivers_dri_swrast_swrast.c,v 1.1 2015/04/25 11:19:18 tnn Exp $ | 1 | $NetBSD: patch-src_mesa_drivers_dri_swrast_swrast.c,v 1.2 2015/06/07 15:48:12 tnn Exp $ | |
2 | 2 | |||
3 | Fix build on older NetBSD w/o _SC_PHYS_PAGES. | 3 | Fix build on older NetBSD w/o _SC_PHYS_PAGES. | |
4 | 4 | |||
5 | --- src/mesa/drivers/dri/swrast/swrast.c.orig 2015-03-28 18:20:39.000000000 +0000 | 5 | --- src/mesa/drivers/dri/swrast/swrast.c.orig 2015-06-07 10:06:53.000000000 +0000 | |
6 | +++ src/mesa/drivers/dri/swrast/swrast.c | 6 | +++ src/mesa/drivers/dri/swrast/swrast.c | |
7 | @@ -60,6 +60,11 @@ | 7 | @@ -150,6 +150,12 @@ swrast_query_renderer_integer(__DRIscree | |
8 | #include "swrast_priv.h" | 8 | size_t len = sizeof(system_memory_bytes); | |
9 | #include "swrast/s_context.h" | 9 | if (sysctl(mib, 2, &system_memory_bytes, &len, NULL, 0) != 0) | |
10 | 10 | return -1; | ||
11 | +#if defined(__NetBSD__) | 11 | +#elif defined(HW_PHYSMEM64) | |
12 | +#include <sys/param.h> | 12 | + int mib[2] = { CTL_HW, HW_PHYSMEM64 }; | |
13 | +#include <sys/sysctl.h> | 13 | + uint64_t system_memory_bytes; | |
14 | +#endif | 14 | + size_t len = sizeof(system_memory_bytes); | |
15 | + | 15 | + if (sysctl(mib, 2, &system_memory_bytes, &len, NULL, 0) != 0) | |
16 | const __DRIextension **__driDriverGetExtensions_swrast(void); | 16 | + return -1; | |
17 | 17 | #elif defined(_SC_PHYS_PAGES) && defined(_SC_PAGE_SIZE) | ||
18 | const char * const swrast_vendor_string = "Mesa Project"; | |||
19 | @@ -137,7 +142,18 @@ swrast_query_renderer_integer(__DRIscree | |||
20 | return 0; | |||
21 | case __DRI2_RENDERER_VIDEO_MEMORY: { | |||
22 | /* XXX: Do we want to return the full amount of system memory ? */ | 18 | /* XXX: Do we want to return the full amount of system memory ? */ | |
23 | +#if !defined(_SC_PHYS_PAGES) && defined(__NetBSD__) | |||
24 | + uint64_t physmem64; | |||
25 | + uint32_t pagesize; | |||
26 | + size_t len; | |||
27 | + int ret1 = sysctlbyname("hw.physmem64", &physmem64, &len, (void*)NULL, 0); | |||
28 | + int ret2 = sysctlbyname("hw.pagesize", &pagesize, &len, (void*)NULL, 0); | |||
29 | + const long system_memory_pages = \ | |||
30 | + (ret1 == 0 && ret2 == 0 && physmem64 > 0 && pagesize > 0) ? | |||
31 | + (physmem64 / pagesize) : -1; | |||
32 | +#else | |||
33 | const long system_memory_pages = sysconf(_SC_PHYS_PAGES); | 19 | const long system_memory_pages = sysconf(_SC_PHYS_PAGES); | |
34 | +#endif | |||
35 | const long system_page_size = sysconf(_SC_PAGE_SIZE); | |||
36 | ||||
37 | if (system_memory_pages <= 0 || system_page_size <= 0) |