• Dmitry Safonov's avatar
    ppc64/aarch64: Dynamically define PAGE_SIZE · 2d965008
    Dmitry Safonov authored
    On ppc64/aarch64 Linux can be set to use Large pages, so the PAGE_SIZE
    isn't build-time constant anymore. Define it through _SC_PAGESIZE.
    
    There are different sizes for a page on ppc64:
    : #if defined(CONFIG_PPC_256K_PAGES)
    : #define PAGE_SHIFT              18
    : #elif defined(CONFIG_PPC_64K_PAGES)
    : #define PAGE_SHIFT              16
    : #elif defined(CONFIG_PPC_16K_PAGES)
    : #define PAGE_SHIFT              14
    : #else
    : #define PAGE_SHIFT              12
    : #endif
    
    And on aarch64 there are default sizes and possibly someone can set his
    own PAGE_SHIFT:
    : config ARM64_PAGE_SHIFT
    :         int
    :         default 16 if ARM64_64K_PAGES
    :         default 14 if ARM64_16K_PAGES
    :         default 12
    
    On the downside - each time we need PAGE_SIZE, we're doing libc
    function call on aarch64/ppc64.
    
    Fixes: #415
    Tested-by: 's avatarAdrian Reber <areber@redhat.com>
    Signed-off-by: 's avatarDmitry Safonov <dima@arista.com>
    Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
    2d965008
Name
Last commit
Last update
Documentation Loading commit data...
compel Loading commit data...
contrib Loading commit data...
coredump Loading commit data...
crit Loading commit data...
criu Loading commit data...
images Loading commit data...
include/common Loading commit data...
lib Loading commit data...
scripts Loading commit data...
soccr Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
INSTALL.md Loading commit data...
Makefile Loading commit data...
Makefile.compel Loading commit data...
Makefile.config Loading commit data...
Makefile.install Loading commit data...
Makefile.versions Loading commit data...
README.md Loading commit data...