xref: /openbmc/linux/arch/s390/include/asm/linkage.h (revision 2e54dc3c)
1c6557e7fSMartin Schwidefsky #ifndef __ASM_LINKAGE_H
2c6557e7fSMartin Schwidefsky #define __ASM_LINKAGE_H
3c6557e7fSMartin Schwidefsky 
4144d634aSJan Glauber #include <linux/stringify.h>
5144d634aSJan Glauber 
6144d634aSJan Glauber #define __ALIGN .align 4, 0x07
7144d634aSJan Glauber #define __ALIGN_STR __stringify(__ALIGN)
8c6557e7fSMartin Schwidefsky 
92e54dc3cSHendrik Brueckner #ifndef __ASSEMBLY__
102e54dc3cSHendrik Brueckner 
112e54dc3cSHendrik Brueckner /*
122e54dc3cSHendrik Brueckner  * Helper macro for exception table entries
132e54dc3cSHendrik Brueckner  */
142e54dc3cSHendrik Brueckner #define EX_TABLE(_fault, _target)	\
152e54dc3cSHendrik Brueckner 	".section __ex_table,\"a\"\n"	\
162e54dc3cSHendrik Brueckner 	".align	4\n"			\
172e54dc3cSHendrik Brueckner 	".long	(" #_fault ") - .\n"	\
182e54dc3cSHendrik Brueckner 	".long	(" #_target ") - .\n"	\
192e54dc3cSHendrik Brueckner 	".previous\n"
202e54dc3cSHendrik Brueckner 
212e54dc3cSHendrik Brueckner #else /* __ASSEMBLY__ */
222e54dc3cSHendrik Brueckner 
232e54dc3cSHendrik Brueckner #define EX_TABLE(_fault, _target)	\
242e54dc3cSHendrik Brueckner 	.section __ex_table,"a"	;	\
252e54dc3cSHendrik Brueckner 	.align	4 ;			\
262e54dc3cSHendrik Brueckner 	.long	(_fault) - . ;		\
272e54dc3cSHendrik Brueckner 	.long	(_target) - . ;		\
282e54dc3cSHendrik Brueckner 	.previous
292e54dc3cSHendrik Brueckner 
302e54dc3cSHendrik Brueckner #endif /* __ASSEMBLY__ */
31c6557e7fSMartin Schwidefsky #endif
32