lkml.org 
[lkml]   [2015]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v8 02/21] x86/asm: Add C versions of FRAME and ENDFRAME macros
    Date
    Add C versions of the FRAME and ENDFRAME macros which can be used to
    create a stack frame in inline assembly.

    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    ---
    arch/x86/include/asm/frame.h | 20 ++++++++++++++++++--
    1 file changed, 18 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/include/asm/frame.h b/arch/x86/include/asm/frame.h
    index a4ac454..fa38ceb 100644
    --- a/arch/x86/include/asm/frame.h
    +++ b/arch/x86/include/asm/frame.h
    @@ -1,10 +1,10 @@
    #ifndef _ASM_X86_FRAME_H
    #define _ASM_X86_FRAME_H

    -#ifdef __ASSEMBLY__
    -
    #include <asm/asm.h>

    +#ifdef __ASSEMBLY__
    +
    /*
    * These are stack frame creation macros. They should be used by every
    * callable non-leaf asm function to make kernel stack traces more reliable.
    @@ -22,5 +22,21 @@
    #endif
    .endm

    +#else /* !__ASSEMBLY__ */
    +
    +#ifdef CONFIG_FRAME_POINTER
    +
    +#define FRAME \
    + "push %" _ASM_BP "\n" \
    + _ASM_MOV "%" _ASM_SP ", %" _ASM_BP "\n"
    +
    +#define ENDFRAME "pop %" _ASM_BP "\n"
    +
    +#else /* !CONFIG_FRAME_POINTER */
    +
    +#define FRAME ""
    +#define ENDFRAME ""
    +
    +#endif /* CONFIG_FRAME_POINTER */
    #endif /* __ASSEMBLY__ */
    #endif /* _ASM_X86_FRAME_H */
    --
    2.1.0


    \
     
     \ /
      Last update: 2015-07-28 17:01    [W:2.635 / U:0.276 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site