diff options
author | Vineet Gupta <vgupta@kernel.org> | 2020-10-02 01:46:42 +0300 |
---|---|---|
committer | Vineet Gupta <vgupta@kernel.org> | 2021-08-26 23:43:19 +0300 |
commit | 8747ff704ac886f6ef992b1b7eadcf77d151fd3a (patch) | |
tree | 566687879eccba9a936adf38363b01d02bba5ca4 /arch/arc/mm/tlbex.S | |
parent | 2dde02ab6d1a725ddccc7144ff6bf5f55d37f916 (diff) | |
download | linux-8747ff704ac886f6ef992b1b7eadcf77d151fd3a.tar.xz |
ARC: mm: support 4 levels of page tables
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Vineet Gupta <vgupta@kernel.org>
Diffstat (limited to 'arch/arc/mm/tlbex.S')
-rw-r--r-- | arch/arc/mm/tlbex.S | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arc/mm/tlbex.S b/arch/arc/mm/tlbex.S index 5f57eba1089d..e054780a8fe0 100644 --- a/arch/arc/mm/tlbex.S +++ b/arch/arc/mm/tlbex.S @@ -173,6 +173,15 @@ ex_saved_reg1: tst r3, r3 bz do_slow_path_pf ; if no Page Table, do page fault +#if CONFIG_PGTABLE_LEVELS > 3 + lsr r0, r2, PUD_SHIFT ; Bits for indexing into PUD + and r0, r0, (PTRS_PER_PUD - 1) + ld.as r1, [r3, r0] ; PMD entry + tst r1, r1 + bz do_slow_path_pf + mov r3, r1 +#endif + #if CONFIG_PGTABLE_LEVELS > 2 lsr r0, r2, PMD_SHIFT ; Bits for indexing into PMD and r0, r0, (PTRS_PER_PMD - 1) |