Add the FP_SAVE and FP_RESTORE asm macros, which can be used to save and restore the frame pointer. Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> --- arch/x86/include/asm/func.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 arch/x86/include/asm/func.h diff --git a/arch/x86/include/asm/func.h b/arch/x86/include/asm/func.h new file mode 100644 index 0000000..4d62782 --- /dev/null +++ b/arch/x86/include/asm/func.h @@ -0,0 +1,24 @@ +#ifndef _ASM_X86_FUNC_H +#define _ASM_X86_FUNC_H + +#include <linux/linkage.h> +#include <asm/asm.h> + +/* + * These are frame pointer save and restore macros. They should be used by + * every callable non-leaf asm function. + */ +.macro FP_SAVE name + .if CONFIG_FRAME_POINTER + push %_ASM_BP + _ASM_MOV %_ASM_SP, %_ASM_BP + .endif +.endm + +.macro FP_RESTORE name + .if CONFIG_FRAME_POINTER + pop %_ASM_BP + .endif +.endm + +#endif /* _ASM_X86_FUNC_H */ -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html