riscv: Use p*d_leaf macros to define p*d_huge
authorAlexandre Ghiti <alex@ghiti.fr>
Thu, 20 Feb 2020 06:10:23 +0000 (01:10 -0500)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Thu, 5 Mar 2020 21:09:59 +0000 (13:09 -0800)
The newly introduced p*d_leaf macros allow to check if an entry of the
page table map to a physical page instead of the next level. To avoid
duplication of code, use those macros to determine if a page table entry
points to a hugepage.

Suggested-by: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Alexandre Ghiti <alex@ghiti.fr>
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
arch/riscv/mm/hugetlbpage.c

index 0d4747e..a6189ed 100644 (file)
@@ -4,14 +4,12 @@
 
 int pud_huge(pud_t pud)
 {
-       return pud_present(pud) &&
-               (pud_val(pud) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC));
+       return pud_leaf(pud);
 }
 
 int pmd_huge(pmd_t pmd)
 {
-       return pmd_present(pmd) &&
-               (pmd_val(pmd) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC));
+       return pmd_leaf(pmd);
 }
 
 static __init int setup_hugepagesz(char *opt)