summary refs log tree commit diff
path: root/arch/powerpc/sysdev
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2016-10-14 16:47:31 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2016-11-14 11:11:51 +1100
commit61a92f703120daf7ed25e046275aa8a2d3085ad4 (patch)
tree0ded0103f9cc2e2a6fc53e0fcc5bb6c4c2329265 /arch/powerpc/sysdev
parent24bfa6a9e0d4fe414dfc4ad06c93e10c4c37194e (diff)
downloadlinux-61a92f703120daf7ed25e046275aa8a2d3085ad4.tar.gz
powerpc: Add support for relative exception tables
This halves the exception table size on 64-bit builds, and it allows
build-time sorting of exception tables to work on relocated kernels.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Minor asm fixups and bits to keep the selftests working]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/sysdev')
-rw-r--r--arch/powerpc/sysdev/fsl_rio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c
index 87fee0c8eb21..1c41c51f22cb 100644
--- a/arch/powerpc/sysdev/fsl_rio.c
+++ b/arch/powerpc/sysdev/fsl_rio.c
@@ -111,7 +111,7 @@ int fsl_rio_mcheck_exception(struct pt_regs *regs)
 			out_be32((u32 *)(rio_regs_win + RIO_LTLEDCSR),
 				 0);
 			regs->msr |= MSR_RI;
-			regs->nip = entry->fixup;
+			regs->nip = extable_fixup(entry);
 			return 1;
 		}
 	}