Line 0
Link Here
|
|
|
1 |
--- src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp.orig 2017-07-27 13:18:46 UTC |
2 |
+++ src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp |
3 |
@@ -65,7 +65,6 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) |
4 |
u_int cPagesMemFree = 0; |
5 |
u_int cPagesMemInactive = 0; |
6 |
u_int cPagesMemCached = 0; |
7 |
- u_int cPagesMemUsed = 0; |
8 |
int cbPage = 0; |
9 |
size_t cbParameter; |
10 |
int cProcessed = 0; |
11 |
@@ -73,25 +72,23 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) |
12 |
cbParameter = sizeof(cPagesMemFree); |
13 |
if (sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0)) |
14 |
rc = RTErrConvertFromErrno(errno); |
15 |
- cbParameter = sizeof(cPagesMemUsed); |
16 |
- if ( RT_SUCCESS(rc) |
17 |
- && sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0)) |
18 |
- rc = RTErrConvertFromErrno(errno); |
19 |
cbParameter = sizeof(cPagesMemInactive); |
20 |
if ( RT_SUCCESS(rc) |
21 |
&& sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) |
22 |
rc = RTErrConvertFromErrno(errno); |
23 |
+#if __FreeBSD_version < 1200016 |
24 |
cbParameter = sizeof(cPagesMemCached); |
25 |
if ( RT_SUCCESS(rc) |
26 |
&& sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0)) |
27 |
rc = RTErrConvertFromErrno(errno); |
28 |
+#endif |
29 |
cbParameter = sizeof(cbPage); |
30 |
if ( RT_SUCCESS(rc) |
31 |
&& sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0)) |
32 |
rc = RTErrConvertFromErrno(errno); |
33 |
|
34 |
if (RT_SUCCESS(rc)) |
35 |
- *pcb = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * cbPage; |
36 |
+ *pcb = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * cbPage; |
37 |
|
38 |
return rc; |
39 |
} |