Commit 29dbb984 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

powerpc/64s: Remove the "fast endian switch" syscall



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]: 745a14cc ("[POWERPC] Add fast little-endian switch system call")
[2]: 529d235a ("powerpc: Add a proper syscall for switching endianness")
[3]: 727f1361 ("powerpc: Disable the fast-endian switch syscall by default")

Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240823070830.1269033-1-mpe@ellerman.id.au
parent 87def77b
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -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
+0 −17
Original line number Diff line number Diff line
@@ -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)