diff options
| author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2018-10-08 00:08:31 -0400 |
|---|---|---|
| committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-12-22 05:43:55 -0500 |
| commit | 505a314fb28ce122091691c51426fa85c084e115 (patch) | |
| tree | df273dfd6018e3812046de00f1e894c31cd7751e /arch | |
| parent | f1e0addca8bd7386f8cabbc64c9988fff91c131f (diff) | |
powerpc: Fix HMIs on big-endian with CONFIG_RELOCATABLE=y
HMIs will crash the kernel due to
BRANCH_LINK_TO_FAR(hmi_exception_realmode)
Calling into the OPD instead of the actual code.
Fixes: 2337d207288f ("powerpc/64: CONFIG_RELOCATABLE support for hmi interrupts")
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[mpe: Use DOTSYM() rather than #ifdef]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/powerpc/kernel/exceptions-64s.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index 89d32bb79d5e..ed3d6fa8be53 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S | |||
| @@ -1031,7 +1031,7 @@ TRAMP_REAL_BEGIN(hmi_exception_early) | |||
| 1031 | EXCEPTION_PROLOG_COMMON_2(PACA_EXGEN) | 1031 | EXCEPTION_PROLOG_COMMON_2(PACA_EXGEN) |
| 1032 | EXCEPTION_PROLOG_COMMON_3(0xe60) | 1032 | EXCEPTION_PROLOG_COMMON_3(0xe60) |
| 1033 | addi r3,r1,STACK_FRAME_OVERHEAD | 1033 | addi r3,r1,STACK_FRAME_OVERHEAD |
| 1034 | BRANCH_LINK_TO_FAR(hmi_exception_realmode) /* Function call ABI */ | 1034 | BRANCH_LINK_TO_FAR(DOTSYM(hmi_exception_realmode)) /* Function call ABI */ |
| 1035 | cmpdi cr0,r3,0 | 1035 | cmpdi cr0,r3,0 |
| 1036 | 1036 | ||
| 1037 | /* Windup the stack. */ | 1037 | /* Windup the stack. */ |
