linux/arch/powerpc
Michael Ellerman 529d235a0e powerpc: Add a proper syscall for switching endianness
We currently have a "special" syscall for switching endianness. This is
syscall number 0x1ebe, which is handled explicitly in the 64-bit syscall
exception entry.

That has a few problems, firstly the syscall number is outside of the
usual range, which confuses various tools. For example strace doesn't
recognise the syscall at all.

Secondly it's handled explicitly as a special case in the syscall
exception entry, which is complicated enough without it.

As a first step toward removing the special syscall, we need to add a
regular syscall that implements the same functionality.

The logic is simple, it simply toggles the MSR_LE bit in the userspace
MSR. This is the same as the special syscall, with the caveat that the
special syscall clobbers fewer registers.

This version clobbers r9-r12, XER, CTR, and CR0-1,5-7.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-03-28 22:03:40 +11:00
..
boot powerpc/boot: don't clobber r6 and r7 in epapr boot 2015-03-16 18:58:35 +11:00
configs The clock framework changes for 3.20 contain the usual driver additions, 2015-02-21 12:30:30 -08:00
crypto crypto: add missing crypto module aliases 2015-01-13 22:29:11 +11:00
include powerpc: Add a proper syscall for switching endianness 2015-03-28 22:03:40 +11:00
kernel powerpc: Add a proper syscall for switching endianness 2015-03-28 22:03:40 +11:00
kvm powerpc/book3s: Fix flush_tlb cpu_spec hook to take a generic argument. 2015-03-17 07:52:48 +11:00
lib Merge branch 'next-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into test 2015-03-26 20:04:28 +11:00
math-emu powerpc: Correct emulated mtfsf instruction 2014-04-07 10:33:11 +10:00
mm Merge branch 'next-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc into test 2015-03-26 20:04:28 +11:00
net module: remove mod arg from module_free, rename module_memfree(). 2015-01-20 11:38:33 +10:30
oprofile powerpc updates for 3.19 2014-12-11 17:48:14 -08:00
perf powerpc/perf: add missing put_cpu_var in power_pmu_event_init 2015-03-27 20:07:01 +11:00
platforms powerpc: Add a proper syscall for switching endianness 2015-03-28 22:03:40 +11:00
sysdev powerpc/mpic: remove unused functions 2015-03-16 18:50:18 +11:00
xmon powerpc updates for 3.20 2015-02-11 18:15:38 -08:00
Kconfig powerpc: kill PPC_OF 2015-03-17 20:04:32 +11:00
Kconfig.debug powerpc: kill PPC_OF 2015-03-17 20:04:32 +11:00
Makefile powerpc: Convert relocs_check to a shell script using grep 2015-03-23 14:47:39 +11:00
relocs_check.sh powerpc: Convert relocs_check to a shell script using grep 2015-03-23 14:47:39 +11:00