diff options
author | Christophe Leroy <christophe.leroy@c-s.fr> | 2019-04-26 08:59:46 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2019-05-02 18:20:23 +0300 |
commit | 723f268f19daddba56a987b934f3e34a04b6499d (patch) | |
tree | 7b73238d632394769650f552f735277bb800b0ce /arch/powerpc/include/asm/nohash/hugetlb-book3e.h | |
parent | 5fb84fec46015758271fcd2a746633fd4d48e619 (diff) | |
download | linux-723f268f19daddba56a987b934f3e34a04b6499d.tar.xz |
powerpc/mm: cleanup ifdef mess in add_huge_page_size()
Introduce a subarch specific helper check_and_get_huge_psize()
to check the huge page sizes and cleanup the ifdef mess in
add_huge_page_size()
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/nohash/hugetlb-book3e.h')
-rw-r--r-- | arch/powerpc/include/asm/nohash/hugetlb-book3e.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/nohash/hugetlb-book3e.h b/arch/powerpc/include/asm/nohash/hugetlb-book3e.h index 51439bcfe313..ecd8694cb229 100644 --- a/arch/powerpc/include/asm/nohash/hugetlb-book3e.h +++ b/arch/powerpc/include/asm/nohash/hugetlb-book3e.h @@ -34,4 +34,12 @@ static inline void hugepd_populate(hugepd_t *hpdp, pte_t *new, unsigned int pshi *hpdp = __hugepd(((unsigned long)new & ~PD_HUGE) | pshift); } +static inline int check_and_get_huge_psize(int shift) +{ + if (shift & 1) /* Not a power of 4 */ + return -EINVAL; + + return shift_to_mmu_psize(shift); +} + #endif /* _ASM_POWERPC_NOHASH_HUGETLB_BOOK3E_H */ |