summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/linkage.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-09-05 10:00:30 +0300
committerIngo Molnar <mingo@kernel.org>2015-09-05 10:00:47 +0300
commit95cd2ea7d54b41b0b2828587f108fe270d59eede (patch)
tree623675092834a6a92ac1ef28cc5abb930c9a11b0 /arch/s390/include/asm/linkage.h
parent66c117d7fa2ae429911e60d84bf31a90b2b96189 (diff)
parente713c80a4e49d4bed5324d24755e42bf01c87556 (diff)
downloadlinux-95cd2ea7d54b41b0b2828587f108fe270d59eede.tar.xz
Merge branch 'linus' into x86/urgent, to be able to merge a dependent fix
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/s390/include/asm/linkage.h')
-rw-r--r--arch/s390/include/asm/linkage.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/s390/include/asm/linkage.h b/arch/s390/include/asm/linkage.h
index fc8a8284778e..27da78cf416d 100644
--- a/arch/s390/include/asm/linkage.h
+++ b/arch/s390/include/asm/linkage.h
@@ -6,4 +6,26 @@
#define __ALIGN .align 4, 0x07
#define __ALIGN_STR __stringify(__ALIGN)
+#ifndef __ASSEMBLY__
+
+/*
+ * Helper macro for exception table entries
+ */
+#define EX_TABLE(_fault, _target) \
+ ".section __ex_table,\"a\"\n" \
+ ".align 4\n" \
+ ".long (" #_fault ") - .\n" \
+ ".long (" #_target ") - .\n" \
+ ".previous\n"
+
+#else /* __ASSEMBLY__ */
+
+#define EX_TABLE(_fault, _target) \
+ .section __ex_table,"a" ; \
+ .align 4 ; \
+ .long (_fault) - . ; \
+ .long (_target) - . ; \
+ .previous
+
+#endif /* __ASSEMBLY__ */
#endif