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 ALIGN !\ 22 name: ASM_NL\ 23 .export 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 .proc ASM_NL\ 37 .callinfo __VA_ARGS__ ASM_NL\ 38 .entry ASM_NL\ 39 CFI_STARTPROC 40 41 #define ENDPROC_CFI(name) \ 42 CFI_ENDPROC ASM_NL\ 43 .exit ASM_NL\ 44 .procend ASM_NL\ 45 ENDPROC(name) 46 47 #endif /* __ASSEMBLY__ */ 48 49 #endif /* __ASM_PARISC_LINKAGE_H */ 50