18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef __ASM_PARISC_LINKAGE_H 38c2ecf20Sopenharmony_ci#define __ASM_PARISC_LINKAGE_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <asm/dwarf.h> 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#ifndef __ALIGN 88c2ecf20Sopenharmony_ci#define __ALIGN .align 4 98c2ecf20Sopenharmony_ci#define __ALIGN_STR ".align 4" 108c2ecf20Sopenharmony_ci#endif 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci/* 138c2ecf20Sopenharmony_ci * In parisc assembly a semicolon marks a comment while a 148c2ecf20Sopenharmony_ci * exclamation mark is used to separate independent lines. 158c2ecf20Sopenharmony_ci */ 168c2ecf20Sopenharmony_ci#define ASM_NL ! 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci#ifdef __ASSEMBLY__ 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci#define ENTRY(name) \ 218c2ecf20Sopenharmony_ci ALIGN !\ 228c2ecf20Sopenharmony_ciname: ASM_NL\ 238c2ecf20Sopenharmony_ci .export name 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci#define ENTRY_CFI(name, ...) \ 268c2ecf20Sopenharmony_ci ENTRY(name) ASM_NL\ 278c2ecf20Sopenharmony_ci .proc ASM_NL\ 288c2ecf20Sopenharmony_ci .callinfo __VA_ARGS__ ASM_NL\ 298c2ecf20Sopenharmony_ci .entry ASM_NL\ 308c2ecf20Sopenharmony_ci CFI_STARTPROC 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci#define ENDPROC_CFI(name) \ 338c2ecf20Sopenharmony_ci CFI_ENDPROC ASM_NL\ 348c2ecf20Sopenharmony_ci .exit ASM_NL\ 358c2ecf20Sopenharmony_ci .procend ASM_NL\ 368c2ecf20Sopenharmony_ci ENDPROC(name) 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci#endif /* __ASSEMBLY__ */ 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci#endif /* __ASM_PARISC_LINKAGE_H */ 41