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