1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_LINKAGE_H 3 #define __ASM_LINKAGE_H 4 5 #include <linux/stringify.h> 6 7 #define __ALIGN .align 4, 0x07 8 #define __ALIGN_STR __stringify(__ALIGN) 9 10 #ifndef __ASSEMBLY__ 11 12 /* 13 * Helper macro for exception table entries 14 */ 15 #define EX_TABLE(_fault, _target) \ 16 ".section __ex_table,\"a\"\n" \ 17 ".align 4\n" \ 18 ".long (" #_fault ") - .\n" \ 19 ".long (" #_target ") - .\n" \ 20 ".previous\n" 21 22 #else /* __ASSEMBLY__ */ 23 24 #define EX_TABLE(_fault, _target) \ 25 .section __ex_table,"a" ; \ 26 .align 4 ; \ 27 .long (_fault) - . ; \ 28 .long (_target) - . ; \ 29 .previous 30 31 #define EX_TABLE_DMA(_fault, _target) \ 32 .section .dma.ex_table, "a" ; \ 33 .align 4 ; \ 34 .long (_fault) - . ; \ 35 .long (_target) - . ; \ 36 .previous 37 38 #endif /* __ASSEMBLY__ */ 39 #endif 40