diff options
author | Alexandre Ghiti <alexghiti@rivosinc.com> | 2024-02-27 21:50:16 +0100 |
---|---|---|
committer | Palmer Dabbelt <palmer@rivosinc.com> | 2024-02-29 19:21:23 +0100 |
commit | e0fe5ab4192c171c111976dbe90bbd37d3976be0 (patch) | |
tree | e64f2b95f7cfb4d6d351af5bd5e2ed10a82b0a46 /arch/riscv/include/asm/pgtable.h | |
parent | Revert "riscv: mm: support Svnapot in huge vmap" (diff) | |
download | linux-e0fe5ab4192c171c111976dbe90bbd37d3976be0.tar.xz linux-e0fe5ab4192c171c111976dbe90bbd37d3976be0.zip |
riscv: Fix pte_leaf_size() for NAPOT
pte_leaf_size() must be reimplemented to add support for NAPOT mappings.
Fixes: 82a1a1f3bfb6 ("riscv: mm: support Svnapot in hugetlb page")
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20240227205016.121901-3-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to '')
-rw-r--r-- | arch/riscv/include/asm/pgtable.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h index 0c94260b5d0c..89f5f1bd6e46 100644 --- a/arch/riscv/include/asm/pgtable.h +++ b/arch/riscv/include/asm/pgtable.h @@ -439,6 +439,10 @@ static inline pte_t pte_mkhuge(pte_t pte) return pte; } +#define pte_leaf_size(pte) (pte_napot(pte) ? \ + napot_cont_size(napot_cont_order(pte)) :\ + PAGE_SIZE) + #ifdef CONFIG_NUMA_BALANCING /* * See the comment in include/asm-generic/pgtable.h |