| #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__ */ |