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