From da9b962e97202b95dc9e8e3bc6b0b690d950973f Mon Sep 17 00:00:00 2001 From: liuhaitao Date: Mon, 31 Aug 2020 16:58:26 +0800 Subject: [PATCH] sysconf: add _SC_PAGESIZE sysconf support MIRTOS-262 Also implement getpagesize() based on sysconf(_SC_PAGESIZE). Signed-off-by: liuhaitao Change-Id: Ib6baccb9f7dac19f5e3c681db1c51e8a2fe8d3fe --- include/unistd.h | 1 + libs/libc/unistd/lib_sysconf.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/include/unistd.h b/include/unistd.h index 0f132f4df01..c4460ebb7fb 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -274,6 +274,7 @@ #define link(p1, p2) symlink((p1), (p2)) #define fdatasync(f) fsync(f) #define getdtablesize(f) ((int)sysconf(_SC_OPEN_MAX)) +#define getpagesize(f) ((int)sysconf(_SC_PAGESIZE)) /**************************************************************************** * Public Data diff --git a/libs/libc/unistd/lib_sysconf.c b/libs/libc/unistd/lib_sysconf.c index 6da23940f9e..aebedc34c3d 100644 --- a/libs/libc/unistd/lib_sysconf.c +++ b/libs/libc/unistd/lib_sysconf.c @@ -241,6 +241,14 @@ long sysconf(int name) return 1; #endif + case _SC_PAGESIZE: +#ifdef CONFIG_MM_PGSIZE + return CONFIG_MM_PGSIZE; +#else +#define PAGESIZE 4096 + return PAGESIZE; +#endif + default: #if 0 /* Assume valid but not implemented for the time being */ errcode = EINVAL;