powerpc/64s: Fix unnecessary machine check handler relocation branch
authorNicholas Piggin <npiggin@gmail.com>
Thu, 4 May 2017 10:41:12 +0000 (20:41 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 9 May 2017 09:25:50 +0000 (19:25 +1000)
Similarly to commit 2563a70c3b ("powerpc/64s: Remove unnecessary relocation
branch from idle handler"), the machine check handler has a BRANCH_TO from
relocated to relocated code, which is unnecessary.

It has also caused build errors with some toolchains:

  arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
  arch/powerpc/kernel/exceptions-64s.S:395: Error: operand out of range
  (0xffffffffffff8280 is not between 0x0000000000000000 and
  0x000000000000ffff)

Fixes: 1945bc4549e5 ("powerpc/64s: Fix POWER9 machine check handler from stop state")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reported-and-tested-by : Abdul Haleem <abdhalee@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/exceptions-64s.S

index 3840a77002853fe41b8b02ccf97c9bc326d30d3d..ef72065f684ce20a51536582a7032dca08c6d5cb 100644 (file)
@@ -391,9 +391,7 @@ EXC_COMMON_BEGIN(machine_check_handle_early)
         */
        BEGIN_FTR_SECTION
        rlwinm. r11,r12,47-31,30,31
-       beq-    4f
-       BRANCH_TO_COMMON(r10, machine_check_idle_common)
-4:
+       bne     machine_check_idle_common
        END_FTR_SECTION_IFSET(CPU_FTR_HVMODE | CPU_FTR_ARCH_206)
 #endif