]> www.infradead.org Git - users/willy/xarray.git/commitdiff
powerpc/64s: Remove the "fast endian switch" syscall
authorMichael Ellerman <mpe@ellerman.id.au>
Fri, 23 Aug 2024 07:08:30 +0000 (17:08 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 5 Sep 2024 12:30:05 +0000 (22:30 +1000)
The non-standard "fast endian switch" syscall was added in 2008[1],
but was never widely used. It was disabled by default in 2017[2], and
there's no evidence it's ever been used since.

Remove it entirely.

A normal endian switch syscall was added in 2015[3].

[1]: 745a14cc264b ("[POWERPC] Add fast little-endian switch system call")
[2]: 529d235a0e19 ("powerpc: Add a proper syscall for switching endianness")
[3]: 727f13616c45 ("powerpc: Disable the fast-endian switch syscall by default")

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240823070830.1269033-1-mpe@ellerman.id.au
arch/powerpc/Kconfig.debug
arch/powerpc/kernel/exceptions-64s.S

index 3799ceceb04a388c9e1a4bf13c6c965a05ab65f3..0bbec4afc0d59717da51cec930c23d4ea15f60f2 100644 (file)
@@ -379,12 +379,6 @@ config FAIL_IOMMU
 
          If you are unsure, say N.
 
-config PPC_FAST_ENDIAN_SWITCH
-       bool "Deprecated fast endian-switch syscall"
-       depends on DEBUG_KERNEL && PPC_BOOK3S_64
-       help
-         If you're unsure what this is, say N.
-
 config KASAN_SHADOW_OFFSET
        hex
        depends on KASAN
index eaf2f167c342857f416a1e805fc1264959022356..195b075d116cf20f341c1c85ad6eb5ce1a5f5c2a 100644 (file)
@@ -1989,13 +1989,6 @@ INT_DEFINE_END(system_call)
        INTERRUPT_TO_KERNEL
 #endif
 
-#ifdef CONFIG_PPC_FAST_ENDIAN_SWITCH
-BEGIN_FTR_SECTION
-       cmpdi   r0,0x1ebe
-       beq-    1f
-END_FTR_SECTION_IFSET(CPU_FTR_REAL_LE)
-#endif
-
        /* We reach here with PACA in r13, r13 in r9. */
        mfspr   r11,SPRN_SRR0
        mfspr   r12,SPRN_SRR1
@@ -2015,16 +2008,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_REAL_LE)
        b       system_call_common
 #endif
        .endif
-
-#ifdef CONFIG_PPC_FAST_ENDIAN_SWITCH
-       /* Fast LE/BE switch system call */
-1:     mfspr   r12,SPRN_SRR1
-       xori    r12,r12,MSR_LE
-       mtspr   SPRN_SRR1,r12
-       mr      r13,r9
-       RFI_TO_USER     /* return to userspace */
-       b       .       /* prevent speculative execution */
-#endif
 .endm
 
 EXC_REAL_BEGIN(system_call, 0xc00, 0x100)