android_kernel_google_msm/arch
Laurent Dufour 445237120f powerpc/pseries: Fix endiannes issue in RTAS call from xmon
commit 3b8a3c0109 upstream.

On pseries system (LPAR) xmon failed to enter when running in LE mode,
system is hunging. Inititating xmon will lead to such an output on the
console:

SysRq : Entering xmon
cpu 0x15: Vector: 0  at [c0000003f39ffb10]
    pc: c00000000007ed7c: sysrq_handle_xmon+0x5c/0x70
    lr: c00000000007ed7c: sysrq_handle_xmon+0x5c/0x70
    sp: c0000003f39ffc70
   msr: 8000000000009033
  current = 0xc0000003fafa7180
  paca    = 0xc000000007d75e80	 softe: 0	 irq_happened: 0x01
    pid   = 14617, comm = bash
Bad kernel stack pointer fafb4b0 at eca7cc4
cpu 0x15: Vector: 300 (Data Access) at [c000000007f07d40]
    pc: 000000000eca7cc4
    lr: 000000000eca7c44
    sp: fafb4b0
   msr: 8000000000001000
   dar: 10000000
 dsisr: 42000000
  current = 0xc0000003fafa7180
  paca    = 0xc000000007d75e80	 softe: 0	 irq_happened: 0x01
    pid   = 14617, comm = bash
cpu 0x15: Exception 300 (Data Access) in xmon, returning to main loop
xmon: WARNING: bad recursive fault on cpu 0x15

The root cause is that xmon is calling RTAS to turn off the surveillance
when entering xmon, and RTAS is requiring big endian parameters.

This patch is byte swapping the RTAS arguments when running in LE mode.

Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-04-14 17:33:38 +08:00
..
alpha alpha: add io{read,write}{16,32}be functions 2014-09-25 11:49:19 +08:00
arm ARM: 8216/1: xscale: correct auxiliary register in suspend/resume 2015-04-14 17:33:37 +08:00
avr32 avr32: Makefile: add '-D__linux__' flag for gcc-4.4.7 use 2014-03-11 16:09:57 -07:00
blackfin
c6x
cris cris: media platform drivers: fix build 2013-11-29 10:50:37 -08:00
frv frv: Use core allocator for task_struct 2013-08-20 08:26:28 -07:00
h8300 signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear sa_restorer 2013-04-05 10:04:14 -07:00
hexagon
ia64 exec/ptrace: fix get_dumpable() incorrect tests 2013-11-29 10:50:34 -08:00
m32r m32r: make memset() global for CONFIG_KERNEL_BZIP2=y 2013-09-14 06:02:11 -07:00
m68k m68k: Disable/restore interrupts in hwreg_present()/hwreg_write() 2015-02-02 17:04:46 +08:00
microblaze microblaze: Update microblaze defconfigs 2013-08-20 08:26:27 -07:00
mips MIPS: Loongson: Make platform serial setup always built-in. 2015-04-14 17:33:38 +08:00
mn10300 signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear sa_restorer 2013-04-05 10:04:14 -07:00
openrisc openrisc: add missing header inclusion 2014-09-25 11:49:17 +08:00
parisc parisc: Only use -mfast-indirect-calls option for 32-bit kernel builds 2014-12-01 18:02:37 +08:00
powerpc powerpc/pseries: Fix endiannes issue in RTAS call from xmon 2015-04-14 17:33:38 +08:00
s390 KVM: s390: unintended fallthrough for external call 2015-02-02 17:04:37 +08:00
score score: Add missing RCU idle APIs on idle loop 2012-10-13 05:38:55 +09:00
sh sh: fix format string bug in stack tracer 2014-05-06 07:51:45 -07:00
sparc arch/sparc/math-emu/math_32.c: drop stray break operator 2014-08-14 08:42:37 +08:00
tile tile: use a more conservative __my_cpu_offset in CONFIG_PREEMPT 2013-10-13 15:42:50 -07:00
um um: add missing declaration of 'getrlimit()' and friends 2013-12-11 22:34:11 -08:00
unicore32 UniCore32-bugfix: fix mismatch return value of __xchg_bad_pointer 2014-09-25 11:49:18 +08:00
x86 KVM: x86: Fix far-jump to non-canonical check 2015-02-02 17:05:25 +08:00
xtensa xtensa: re-wire umount syscall to sys_oldumount 2015-02-02 17:05:16 +08:00
.gitignore
Kconfig