[PATCH v3 15/15] powerpc/32s: Activate CONFIG_VMAP_STACK
Christophe Leroy
christophe.leroy at c-s.fr
Wed Nov 20 04:23:10 AEDT 2019
Michael Ellerman <mpe at ellerman.id.au> a écrit :
> Christophe Leroy <christophe.leroy at c-s.fr> 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 at c-s.fr>
>> ---
>> 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?
Ok, lets do it the way you propose.
I'll look at this problem with KVM when I'm back next week.
Thanks
Christophe
More information about the Linuxppc-dev
mailing list