OSDN Git Service

powerpc: Fix reverse map real-mode address lookup with huge vmalloc
authorNicholas Piggin <npiggin@gmail.com>
Wed, 26 May 2021 12:00:05 +0000 (22:00 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 28 May 2021 12:54:27 +0000 (22:54 +1000)
commit5362a4b6ee6136018558ef6b2c4701aa15ebc602
treeae864a9562e6211d32f26ab0608cdf8e40388386
parent82123a3d1d5a306fdf50c968a474cc60fe43a80f
powerpc: Fix reverse map real-mode address lookup with huge vmalloc

real_vmalloc_addr() does not currently work for huge vmalloc, which is
what the reverse map can be allocated with for radix host, hash guest.

Extract the hugepage aware equivalent from eeh code into a helper, and
convert existing sites including this one to use it.

Fixes: 8abddd968a30 ("powerpc/64s/radix: Enable huge vmalloc mappings")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210526120005.3432222-1-npiggin@gmail.com
arch/powerpc/include/asm/pte-walk.h
arch/powerpc/kernel/eeh.c
arch/powerpc/kernel/io-workarounds.c
arch/powerpc/kvm/book3s_hv_rm_mmu.c