xref: /linux/arch/x86/include/asm/frame.h (revision c0c914eca7f251c70facc37dfebeaf176601918d)
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