diff options
author | Mike Rapoport <rppt@linux.ibm.com> | 2019-11-05 15:33:19 +0100 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2019-11-26 20:33:39 +0100 |
commit | f0d1eab8c2e1f9240cf4ae4753d7947c65e60bd7 (patch) | |
tree | d7d8ecd9e6c38a6f52680888b1453a74b72a5823 /arch/xtensa/mm/mmu.c | |
parent | xtensa: make stack dump size configurable (diff) | |
download | linux-f0d1eab8c2e1f9240cf4ae4753d7947c65e60bd7.tar.xz linux-f0d1eab8c2e1f9240cf4ae4753d7947c65e60bd7.zip |
xtensa: mm: fix PMD folding implementation
There was a definition of pmd_offset() in arch/xtensa/include/asm/pgtable.h
that shadowed the generic implementation defined in
include/asm-generic/pgtable-nopmd.h.
As the result, xtensa had shortcuts in page table traversal in several
places instead of doing level unfolding.
Remove local override for pmd_offset() and add page table unfolding where
necessary.
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Message-Id: <1572964400-16542-2-git-send-email-rppt@kernel.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/mm/mmu.c')
-rw-r--r-- | arch/xtensa/mm/mmu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/xtensa/mm/mmu.c b/arch/xtensa/mm/mmu.c index 03678c4afc39..018dda2c6a91 100644 --- a/arch/xtensa/mm/mmu.c +++ b/arch/xtensa/mm/mmu.c @@ -22,7 +22,8 @@ static void * __init init_pmd(unsigned long vaddr, unsigned long n_pages) { pgd_t *pgd = pgd_offset_k(vaddr); - pmd_t *pmd = pmd_offset(pgd, vaddr); + pud_t *pud = pud_offset(pgd, vaddr); + pmd_t *pmd = pmd_offset(pud, vaddr); pte_t *pte; unsigned long i; |