aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/extable.h
diff options
context:
space:
mode:
authorPetr Mladek <[email protected]>2021-11-02 09:39:27 +0000
committerPetr Mladek <[email protected]>2021-11-02 09:39:27 +0000
commit40e64a88dadcfa168914065baf7f035de957bbe0 (patch)
tree06c8c4a9e6c1b478aa6851794c6a33bec1ce6ec4 /arch/powerpc/include/asm/extable.h
parentlib/vsprintf.c: Amend static asserts for format specifier flags (diff)
parentvsprintf: Update %pGp documentation about that it prints hex value (diff)
downloadkernel-40e64a88dadcfa168914065baf7f035de957bbe0.tar.gz
kernel-40e64a88dadcfa168914065baf7f035de957bbe0.zip
Merge branch 'for-5.16-vsprintf-pgp' into for-linus
Diffstat (limited to 'arch/powerpc/include/asm/extable.h')
-rw-r--r--arch/powerpc/include/asm/extable.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/extable.h b/arch/powerpc/include/asm/extable.h
index eb91b2d2935a..26ce2e5c0fa8 100644
--- a/arch/powerpc/include/asm/extable.h
+++ b/arch/powerpc/include/asm/extable.h
@@ -17,6 +17,8 @@
#define ARCH_HAS_RELATIVE_EXTABLE
+#ifndef __ASSEMBLY__
+
struct exception_table_entry {
int insn;
int fixup;
@@ -28,3 +30,15 @@ static inline unsigned long extable_fixup(const struct exception_table_entry *x)
}
#endif
+
+/*
+ * Helper macro for exception table entries
+ */
+#define EX_TABLE(_fault, _target) \
+ stringify_in_c(.section __ex_table,"a";)\
+ stringify_in_c(.balign 4;) \
+ stringify_in_c(.long (_fault) - . ;) \
+ stringify_in_c(.long (_target) - . ;) \
+ stringify_in_c(.previous)
+
+#endif