Re: [PATCH v2 1/3] powerpc/64s: Replace RFI by RFI_TO_KERNEL and remove RFI

From: Nicholas Piggin
Date: Tue Nov 10 2020 - 03:46:01 EST


Excerpts from Christophe Leroy's message of November 9, 2020 2:57 am:
> In head_64.S, we have two places using RFI to return to
> kernel. Use RFI_TO_KERNEL instead.
>
> They are the two only places using RFI on book3s/64, so
> the RFI macro can go away.

Looks good to me.

Acked-by: Nicholas Piggin <npiggin@xxxxxxxxx>

>
> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
> ---
> arch/powerpc/include/asm/ppc_asm.h | 1 -
> arch/powerpc/kernel/head_64.S | 9 +++++++--
> 2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h
> index 511786f0e40d..bedf3eb52ebc 100644
> --- a/arch/powerpc/include/asm/ppc_asm.h
> +++ b/arch/powerpc/include/asm/ppc_asm.h
> @@ -495,7 +495,6 @@ END_FTR_SECTION_NESTED(CPU_FTR_CELL_TB_BUG, CPU_FTR_CELL_TB_BUG, 96)
> #endif
>
> #ifdef CONFIG_PPC_BOOK3S_64
> -#define RFI rfid
> #define MTMSRD(r) mtmsrd r
> #define MTMSR_EERI(reg) mtmsrd reg,1
> #else
> diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
> index 1510b2a56669..ecf9a88988ff 100644
> --- a/arch/powerpc/kernel/head_64.S
> +++ b/arch/powerpc/kernel/head_64.S
> @@ -41,6 +41,11 @@
> #include <asm/ppc-opcode.h>
> #include <asm/export.h>
> #include <asm/feature-fixups.h>
> +#ifdef CONFIG_PPC_BOOK3S
> +#include <asm/exception-64s.h>
> +#else
> +#include <asm/exception-64e.h>
> +#endif
>
> /* The physical memory is laid out such that the secondary processor
> * spin code sits at 0x0000...0x00ff. On server, the vectors follow
> @@ -829,7 +834,7 @@ __secondary_start:
>
> mtspr SPRN_SRR0,r3
> mtspr SPRN_SRR1,r4
> - RFI
> + RFI_TO_KERNEL
> b . /* prevent speculative execution */
>
> /*
> @@ -966,7 +971,7 @@ start_here_multiplatform:
> ld r4,PACAKMSR(r13)
> mtspr SPRN_SRR0,r3
> mtspr SPRN_SRR1,r4
> - RFI
> + RFI_TO_KERNEL
> b . /* prevent speculative execution */
>
> /* This is where all platforms converge execution */
> --
> 2.25.0
>
>