diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2020-03-27 22:36:17 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2020-03-27 22:36:17 +0100 |
commit | 06dd3f31cb70035cbd3f507c11fd50e3089aeb81 (patch) | |
tree | 98065919df104fba32191f2464f4193a998cd6a1 /arch/powerpc/kernel/entry_32.S | |
parent | tools: gpio: Fix out-of-tree build regression (diff) | |
parent | Linux 5.6-rc7 (diff) | |
download | linux-06dd3f31cb70035cbd3f507c11fd50e3089aeb81.tar.xz linux-06dd3f31cb70035cbd3f507c11fd50e3089aeb81.zip |
Merge tag 'v5.6-rc7' into devel
Linux 5.6-rc7
Diffstat (limited to 'arch/powerpc/kernel/entry_32.S')
-rw-r--r-- | arch/powerpc/kernel/entry_32.S | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S index 0713daa651d9..16af0d8d90a8 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S @@ -783,7 +783,7 @@ fast_exception_return: 1: lis r3,exc_exit_restart_end@ha addi r3,r3,exc_exit_restart_end@l cmplw r12,r3 -#if CONFIG_PPC_BOOK3S_601 +#ifdef CONFIG_PPC_BOOK3S_601 bge 2b #else bge 3f @@ -791,7 +791,7 @@ fast_exception_return: lis r4,exc_exit_restart@ha addi r4,r4,exc_exit_restart@l cmplw r12,r4 -#if CONFIG_PPC_BOOK3S_601 +#ifdef CONFIG_PPC_BOOK3S_601 blt 2b #else blt 3f @@ -1354,12 +1354,17 @@ _GLOBAL(enter_rtas) mtspr SPRN_SRR0,r8 mtspr SPRN_SRR1,r9 RFI -1: tophys(r9,r1) +1: tophys_novmstack r9, r1 +#ifdef CONFIG_VMAP_STACK + li r0, MSR_KERNEL & ~MSR_IR /* can take DTLB miss */ + mtmsr r0 + isync +#endif lwz r8,INT_FRAME_SIZE+4(r9) /* get return address */ lwz r9,8(r9) /* original msr value */ addi r1,r1,INT_FRAME_SIZE li r0,0 - tophys(r7, r2) + tophys_novmstack r7, r2 stw r0, THREAD + RTAS_SP(r7) mtspr SPRN_SRR0,r8 mtspr SPRN_SRR1,r9 |