Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / s390 / include / asm / linkage.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_LINKAGE_H
3 #define __ASM_LINKAGE_H
4
5 #include <asm/asm-const.h>
6 #include <linux/stringify.h>
7
8 #define __ALIGN .align 16, 0x07
9 #define __ALIGN_STR __stringify(__ALIGN)
10
11 /*
12  * Helper macro for exception table entries
13  */
14
15 #define __EX_TABLE(_section, _fault, _target)                           \
16         stringify_in_c(.section _section,"a";)                          \
17         stringify_in_c(.align   8;)                                     \
18         stringify_in_c(.long    (_fault) - .;)                          \
19         stringify_in_c(.long    (_target) - .;)                         \
20         stringify_in_c(.quad    0;)                                     \
21         stringify_in_c(.previous)
22
23 #define EX_TABLE(_fault, _target)                                       \
24         __EX_TABLE(__ex_table, _fault, _target)
25 #define EX_TABLE_AMODE31(_fault, _target)                               \
26         __EX_TABLE(.amode31.ex_table, _fault, _target)
27
28 #endif