xref: /openbmc/linux/arch/parisc/include/asm/linkage.h (revision fb960bd2)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_PARISC_LINKAGE_H
3 #define __ASM_PARISC_LINKAGE_H
4 
5 #include <asm/dwarf.h>
6 
7 #ifndef __ALIGN
8 #define __ALIGN         .align 4
9 #define __ALIGN_STR     ".align 4"
10 #endif
11 
12 /*
13  * In parisc assembly a semicolon marks a comment while a
14  * exclamation mark is used to separate independent lines.
15  */
16 #define ASM_NL	!
17 
18 #ifdef __ASSEMBLY__
19 
20 #define ENTRY(name) \
21 	.export name !\
22 	ALIGN !\
23 name:
24 
25 #ifdef CONFIG_64BIT
26 #define ENDPROC(name) \
27 	END(name)
28 #else
29 #define ENDPROC(name) \
30 	.type name, @function !\
31 	END(name)
32 #endif
33 
34 #define ENTRY_CFI(name) \
35 	ENTRY(name)	ASM_NL\
36 	CFI_STARTPROC
37 
38 #define ENDPROC_CFI(name) \
39 	ENDPROC(name)	ASM_NL\
40 	CFI_ENDPROC
41 
42 #endif /* __ASSEMBLY__ */
43 
44 #endif  /* __ASM_PARISC_LINKAGE_H */
45