aboutsummaryrefslogtreecommitdiff
path: root/arch/xtensa/mm/kasan_init.c
diff options
context:
space:
mode:
authorGravatar Mike Rapoport <rppt@linux.ibm.com> 2019-11-05 16:33:20 +0200
committerGravatar Max Filippov <jcmvbkbc@gmail.com> 2019-11-26 11:33:39 -0800
commitf5ee2567921dec4f489c16d4fe22c3a7222d0ce6 (patch)
tree54a6a21fad933163b9b486439d852c33b9438a1a /arch/xtensa/mm/kasan_init.c
parentxtensa: mm: fix PMD folding implementation (diff)
downloadlinux-f5ee2567921dec4f489c16d4fe22c3a7222d0ce6.tar.gz
linux-f5ee2567921dec4f489c16d4fe22c3a7222d0ce6.tar.bz2
linux-f5ee2567921dec4f489c16d4fe22c3a7222d0ce6.zip
xtensa: get rid of __ARCH_USE_5LEVEL_HACK
xtensa has 2-level page tables and already uses pgtable-nopmd for page table folding. Add walks of p4d level where appropriate and drop usage of __ARCH_USE_5LEVEL_HACK. Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Message-Id: <1572964400-16542-3-git-send-email-rppt@kernel.org> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> [fix up arch/xtensa/include/asm/fixmap.h and arch/xtensa/mm/tlb.c]
Diffstat (limited to 'arch/xtensa/mm/kasan_init.c')
-rw-r--r--arch/xtensa/mm/kasan_init.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/xtensa/mm/kasan_init.c b/arch/xtensa/mm/kasan_init.c
index ace98bdf5191..9c957791bb33 100644
--- a/arch/xtensa/mm/kasan_init.c
+++ b/arch/xtensa/mm/kasan_init.c
@@ -20,7 +20,8 @@ void __init kasan_early_init(void)
{
unsigned long vaddr = KASAN_SHADOW_START;
pgd_t *pgd = pgd_offset_k(vaddr);
- pud_t *pud = pud_offset(pgd, vaddr);
+ p4d_t *p4d = p4d_offset(pgd, vaddr);
+ pud_t *pud = pud_offset(p4d, vaddr);
pmd_t *pmd = pmd_offset(pud, vaddr);
int i;
@@ -43,7 +44,8 @@ static void __init populate(void *start, void *end)
unsigned long i, j;
unsigned long vaddr = (unsigned long)start;
pgd_t *pgd = pgd_offset_k(vaddr);
- pud_t *pud = pud_offset(pgd, vaddr);
+ p4d_t *p4d = p4d_offset(pgd, vaddr);
+ pud_t *pud = pud_offset(p4d, vaddr);
pmd_t *pmd = pmd_offset(pud, vaddr);
pte_t *pte = memblock_alloc(n_pages * sizeof(pte_t), PAGE_SIZE);