summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2016-01-03 21:37:02 +0100
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2016-01-03 21:37:02 +0100
commit4ee048a089d787b7f3d784927d8dd7ee7b2f0183 (patch)
tree8fdc89bc87e722338ce01fae3b8382a58c6df5b4
parentbfc8d2cfb527d21015a0d45948eae88c629a8bbd (diff)
downloadmemtool-4ee048a089d787b7f3d784927d8dd7ee7b2f0183.tar.gz
memtool-4ee048a089d787b7f3d784927d8dd7ee7b2f0183.tar.xz
Use system's page size instead of hardcoding 4096
-rw-r--r--memtool.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/memtool.c b/memtool.c
index adc3f27..e0fe81e 100644
--- a/memtool.c
+++ b/memtool.c
@@ -201,6 +201,10 @@ static void *memmap(const char *file, unsigned long addr, unsigned long size)
{
unsigned long mmap_start, ofs;
void *mem;
+ long pagesize = sysconf(_SC_PAGE_SIZE);
+
+ if (pagesize < 0)
+ pagesize = 4096;
memfd = open(file, O_RDWR);
if (memfd < 0) {
@@ -208,7 +212,7 @@ static void *memmap(const char *file, unsigned long addr, unsigned long size)
exit(1);
}
- mmap_start = addr & ~(4095);
+ mmap_start = addr & ~(pagesize - 1);
ofs = addr - mmap_start;
mem = mmap(0, size + ofs, PROT_READ | PROT_WRITE, MAP_SHARED,