summaryrefslogtreecommitdiffstats
path: root/arch/parisc/include/asm/linkage.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/parisc/include/asm/linkage.h')
-rw-r--r--arch/parisc/include/asm/linkage.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/parisc/include/asm/linkage.h b/arch/parisc/include/asm/linkage.h
new file mode 100644
index 0000000000..cd6fe4febe
--- /dev/null
+++ b/arch/parisc/include/asm/linkage.h
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_PARISC_LINKAGE_H
+#define __ASM_PARISC_LINKAGE_H
+
+#include <asm/dwarf.h>
+
+#ifndef __ALIGN
+#define __ALIGN .align 4
+#define __ALIGN_STR ".align 4"
+#endif
+
+/*
+ * In parisc assembly a semicolon marks a comment while a
+ * exclamation mark is used to separate independent lines.
+ */
+#define ASM_NL !
+
+#ifdef __ASSEMBLY__
+
+#define ENTRY(name) \
+ ALIGN !\
+name: ASM_NL\
+ .export name
+
+#define ENTRY_CFI(name, ...) \
+ ENTRY(name) ASM_NL\
+ .proc ASM_NL\
+ .callinfo __VA_ARGS__ ASM_NL\
+ .entry ASM_NL\
+ CFI_STARTPROC
+
+#define ENDPROC_CFI(name) \
+ CFI_ENDPROC ASM_NL\
+ .exit ASM_NL\
+ .procend ASM_NL\
+ ENDPROC(name)
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ASM_PARISC_LINKAGE_H */