Christophe Leroy <christophe.leroy@xxxxxx> writes: > A few changes to retrieve DAR and DSISR from struct regs > instead of retrieving them directly, as they may have > changed due to a TLB miss. > > Also modifies hash_page() and friends to work with virtual > data addresses instead of physical ones. > > Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> > --- > arch/powerpc/kernel/entry_32.S | 4 +++ > arch/powerpc/kernel/head_32.S | 19 +++++++++++--- > arch/powerpc/kernel/head_32.h | 4 ++- > arch/powerpc/mm/book3s32/hash_low.S | 46 +++++++++++++++++++++------------- > arch/powerpc/mm/book3s32/mmu.c | 9 +++++-- > arch/powerpc/platforms/Kconfig.cputype | 2 ++ > 6 files changed, 61 insertions(+), 23 deletions(-) If I build pmac32_defconfig with KVM enabled this causes a build break: arch/powerpc/kernel/head_32.S: Assembler messages: arch/powerpc/kernel/head_32.S:324: Error: attempt to move .org backwards scripts/Makefile.build:357: recipe for target 'arch/powerpc/kernel/head_32.o' failed make[2]: *** [arch/powerpc/kernel/head_32.o] Error 1 In the interests of getting the series merged I'm inclined to just make VMAP_STACK and KVM incompatible for now with: diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 15c9097dc4f7..5074fe77af40 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype @@ -31,7 +31,7 @@ config PPC_BOOK3S_6xx select PPC_HAVE_PMU_SUPPORT select PPC_HAVE_KUEP select PPC_HAVE_KUAP - select HAVE_ARCH_VMAP_STACK + select HAVE_ARCH_VMAP_STACK if !KVM_BOOK3S_32 config PPC_BOOK3S_601 bool "PowerPC 601" Thoughts? cheers