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