aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/ppc_asm.h
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2016-10-13 16:42:53 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2016-11-14 11:11:51 +1100
commit24bfa6a9e0d4fe414dfc4ad06c93e10c4c37194e (patch)
tree13368fce0b6bc8558aad558dc275368f2dc44afc /arch/powerpc/include/asm/ppc_asm.h
parentselftests/powerpc: Fail load_unaligned_zeropad on miscompare (diff)
downloadlinux-dev-24bfa6a9e0d4fe414dfc4ad06c93e10c4c37194e.tar.xz
linux-dev-24bfa6a9e0d4fe414dfc4ad06c93e10c4c37194e.zip
powerpc: EX_TABLE macro for exception tables
This macro is taken from s390, and allows more flexibility in changing exception table format. mpe: Put it in ppc_asm.h and only define one version using stringinfy_in_c(). Add some empty definitions and headers to keep the selftests happy. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/ppc_asm.h')
-rw-r--r--arch/powerpc/include/asm/ppc_asm.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h
index 28ab87e5b739..6af8852d1f7f 100644
--- a/arch/powerpc/include/asm/ppc_asm.h
+++ b/arch/powerpc/include/asm/ppc_asm.h
@@ -780,4 +780,14 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601)
#endif /* __ASSEMBLY__ */
+/*
+ * Helper macro for exception table entries
+ */
+#define EX_TABLE(_fault, _target) \
+ stringify_in_c(.section __ex_table,"a";)\
+ PPC_LONG_ALIGN stringify_in_c(;) \
+ PPC_LONG stringify_in_c(_fault;) \
+ PPC_LONG stringify_in_c(_target;) \
+ stringify_in_c(.previous)
+
#endif /* _ASM_POWERPC_PPC_ASM_H */