#ifdef __ASSEMBLY__ | |
#include <asm/asm.h> | |
/* The annotation hides the frame from the unwinder and makes it look | |
like a ordinary ebp save/restore. This avoids some special cases for | |
frame pointer later */ | |
#ifdef CONFIG_FRAME_POINTER | |
.macro FRAME | |
__ASM_SIZE(push,) %__ASM_REG(bp) | |
__ASM_SIZE(mov) %__ASM_REG(sp), %__ASM_REG(bp) | |
.endm | |
.macro ENDFRAME | |
__ASM_SIZE(pop,) %__ASM_REG(bp) | |
.endm | |
#else | |
.macro FRAME | |
.endm | |
.macro ENDFRAME | |
.endm | |
#endif | |
#endif /* __ASSEMBLY__ */ |