Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.16 58 lines 1.4 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 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 mcount call */ 8#define FTRACE_SYSCALL_MAX NR_syscalls 9 10#ifndef __ASSEMBLER__ 11extern void mcount(void); 12 13#define MCOUNT_ADDR ((unsigned long)(mcount)) 14 15#ifdef CONFIG_DYNAMIC_FTRACE 16#define CALL_ADDR ((long)(ftrace_call)) 17#define STUB_ADDR ((long)(ftrace_stub)) 18#define GRAPH_ADDR ((long)(ftrace_graph_call)) 19#define CALLER_ADDR ((long)(ftrace_caller)) 20 21#define MCOUNT_INSN_OFFSET ((STUB_ADDR - CALL_ADDR) - 4) 22#define GRAPH_INSN_OFFSET ((CALLER_ADDR - GRAPH_ADDR) - 4) 23 24struct dyn_arch_ftrace { 25 /* No extra data needed on sh */ 26}; 27 28#endif /* CONFIG_DYNAMIC_FTRACE */ 29 30static inline unsigned long ftrace_call_adjust(unsigned long addr) 31{ 32 /* 'addr' is the memory table address. */ 33 return addr; 34} 35 36void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr); 37 38#endif /* __ASSEMBLER__ */ 39#endif /* CONFIG_FUNCTION_TRACER */ 40 41#ifndef __ASSEMBLER__ 42 43/* arch/sh/kernel/return_address.c */ 44extern void *return_address(unsigned int); 45 46#define ftrace_return_address(n) return_address(n) 47 48#ifdef CONFIG_DYNAMIC_FTRACE 49extern void arch_ftrace_nmi_enter(void); 50extern void arch_ftrace_nmi_exit(void); 51#else 52static inline void arch_ftrace_nmi_enter(void) { } 53static inline void arch_ftrace_nmi_exit(void) { } 54#endif 55 56#endif /* __ASSEMBLER__ */ 57 58#endif /* __ASM_SH_FTRACE_H */