s390/ftrace: add FTRACE_GEN_NOP_ASM macro
FTRACE_GEN_NOP_ASM(name) can be used to generate assembly functions with the required information added to allow tracing via kprobes/ftrace. It adds the nop instruction which will be patched by ftrace later. If the compiler supports -mnop-mcount it will also add an entry to the __mcount_loc section. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Родитель
54235d5cfe
Коммит
f768a20c0a
|
@ -68,4 +68,32 @@ static inline bool arch_syscall_match_sym_name(const char *sym,
|
|||
}
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#ifdef CONFIG_FUNCTION_TRACER
|
||||
|
||||
#define FTRACE_NOP_INSN .word 0xc004, 0x0000, 0x0000 /* brcl 0,0 */
|
||||
|
||||
#ifndef CC_USING_HOTPATCH
|
||||
|
||||
#define FTRACE_GEN_MCOUNT_RECORD(name) \
|
||||
.section __mcount_loc, "a", @progbits; \
|
||||
.quad name; \
|
||||
.previous;
|
||||
|
||||
#else /* !CC_USING_HOTPATCH */
|
||||
|
||||
#define FTRACE_GEN_MCOUNT_RECORD(name)
|
||||
|
||||
#endif /* !CC_USING_HOTPATCH */
|
||||
|
||||
#define FTRACE_GEN_NOP_ASM(name) \
|
||||
FTRACE_GEN_MCOUNT_RECORD(name) \
|
||||
FTRACE_NOP_INSN
|
||||
|
||||
#else /* CONFIG_FUNCTION_TRACER */
|
||||
|
||||
#define FTRACE_GEN_NOP_ASM(name)
|
||||
|
||||
#endif /* CONFIG_FUNCTION_TRACER */
|
||||
|
||||
#endif /* _ASM_S390_FTRACE_H */
|
||||
|
|
Загрузка…
Ссылка в новой задаче