1 /* SPDX-License-Identifier: GPL-2.0 */ 1 2 #ifndef __ASM_SH_FTRACE_H 3 #define __ASM_SH_FTRACE_H 4 5 #ifdef CONFIG_FUNCTION_TRACER 6 7 #define MCOUNT_INSN_SIZE 4 /* sizeof mc 8 #define FTRACE_SYSCALL_MAX NR_syscalls 9 10 #ifndef __ASSEMBLY__ 11 extern void mcount(void); 12 13 #define MCOUNT_ADDR ((unsigned lon 14 15 #ifdef CONFIG_DYNAMIC_FTRACE 16 #define CALL_ADDR ((long)(ftrace 17 #define STUB_ADDR ((long)(ftrace 18 #define GRAPH_ADDR ((long)(ftrace 19 #define CALLER_ADDR ((long)(ftrace 20 21 #define MCOUNT_INSN_OFFSET ((STUB_ADDR - 22 #define GRAPH_INSN_OFFSET ((CALLER_ADDR 23 24 struct dyn_arch_ftrace { 25 /* No extra data needed on sh */ 26 }; 27 28 #endif /* CONFIG_DYNAMIC_FTRACE */ 29 30 static inline unsigned long ftrace_call_adjust 31 { 32 /* 'addr' is the memory table address. 33 return addr; 34 } 35 36 void prepare_ftrace_return(unsigned long *pare 37 38 #endif /* __ASSEMBLY__ */ 39 #endif /* CONFIG_FUNCTION_TRACER */ 40 41 #ifndef __ASSEMBLY__ 42 43 /* arch/sh/kernel/return_address.c */ 44 extern void *return_address(unsigned int); 45 46 #define ftrace_return_address(n) return_addres 47 48 #ifdef CONFIG_DYNAMIC_FTRACE 49 extern void arch_ftrace_nmi_enter(void); 50 extern void arch_ftrace_nmi_exit(void); 51 #else 52 static inline void arch_ftrace_nmi_enter(void) 53 static inline void arch_ftrace_nmi_exit(void) 54 #endif 55 56 #endif /* __ASSEMBLY__ */ 57 58 #endif /* __ASM_SH_FTRACE_H */ 59
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.