]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
powerpc/64s: Replace RFI by RFI_TO_KERNEL and remove RFI
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Sun, 8 Nov 2020 16:57:35 +0000 (16:57 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 19 Nov 2020 05:56:54 +0000 (16:56 +1100)
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.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/7719261b0a0d2787772339484c33eb809723bca7.1604854583.git.christophe.leroy@csgroup.eu
arch/powerpc/include/asm/ppc_asm.h
arch/powerpc/kernel/head_64.S

index 511786f0e40d5860af2df4df76a59c22a3a7d9ae..bedf3eb52ebc4fb56a3b156ac6b78991a32896e2 100644 (file)
@@ -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
index 7b7c8c5ee66023d0b2f2ae4dbfa8e9498665a4b9..3bae6286c17ce188a07aa6dbc88dcdd46c270426 100644 (file)
 #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 */