1#ifdef __ASSEMBLY__ 2 3#include <asm/asm.h> 4#include <asm/dwarf2.h> 5 6/* The annotation hides the frame from the unwinder and makes it look 7 like a ordinary ebp save/restore. This avoids some special cases for 8 frame pointer later */ 9#ifdef CONFIG_FRAME_POINTER 10 .macro FRAME 11 __ASM_SIZE(push,_cfi) %__ASM_REG(bp) 12 CFI_REL_OFFSET __ASM_REG(bp), 0 13 __ASM_SIZE(mov) %__ASM_REG(sp), %__ASM_REG(bp) 14 .endm 15 .macro ENDFRAME 16 __ASM_SIZE(pop,_cfi) %__ASM_REG(bp) 17 CFI_RESTORE __ASM_REG(bp) 18 .endm 19#else 20 .macro FRAME 21 .endm 22 .macro ENDFRAME 23 .endm 24#endif 25 26#endif /* __ASSEMBLY__ */ 27