diff options
| author | Xin LI <delphij@FreeBSD.org> | 2015-11-21 06:52:06 +0000 |
|---|---|---|
| committer | Xin LI <delphij@FreeBSD.org> | 2015-11-21 06:52:06 +0000 |
| commit | 170a23caff3b126f7ca0a3ce1a412cbb050f2b25 (patch) | |
| tree | 6fbbcbf4bb65ef3b7fdf7891461da1ba750ee58e /src/common/tuklib_physmem.c | |
| parent | f4bb66fbc5dabc60ac06846b1913e0fff1d7a463 (diff) | |
Diffstat (limited to 'src/common/tuklib_physmem.c')
| -rw-r--r-- | src/common/tuklib_physmem.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/common/tuklib_physmem.c b/src/common/tuklib_physmem.c index 3cc7d12a171f4..cd2437d8c7d59 100644 --- a/src/common/tuklib_physmem.c +++ b/src/common/tuklib_physmem.c @@ -37,7 +37,10 @@ # define __USE_INLINE__ # include <proto/exec.h> -// AIX +#elif defined(__QNX__) +# include <sys/syspage.h> +# include <string.h> + #elif defined(TUKLIB_PHYSMEM_AIX) # include <sys/systemcfg.h> @@ -126,6 +129,15 @@ tuklib_physmem(void) #elif defined(AMIGA) || defined(__AROS__) ret = AvailMem(MEMF_TOTAL); +#elif defined(__QNX__) + const struct asinfo_entry *entries = SYSPAGE_ENTRY(asinfo); + size_t count = SYSPAGE_ENTRY_SIZE(asinfo) / sizeof(struct asinfo_entry); + const char *strings = SYSPAGE_ENTRY(strings)->data; + + for (size_t i = 0; i < count; ++i) + if (strcmp(strings + entries[i].name, "ram") == 0) + ret += entries[i].end - entries[i].start + 1; + #elif defined(TUKLIB_PHYSMEM_AIX) ret = _system_configuration.physmem; |
