arch/sh/include/asm/ftrace.h

Source file repositories/reference/linux-study-clean/arch/sh/include/asm/ftrace.h

File Facts

System
Linux kernel
Corpus path
arch/sh/include/asm/ftrace.h
Extension
.h
Size
1444 bytes
Lines
59
Domain
Architecture Layer
Bucket
arch/sh
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct dyn_arch_ftrace {
	/* No extra data needed on sh */
};

#endif /* CONFIG_DYNAMIC_FTRACE */

static inline unsigned long ftrace_call_adjust(unsigned long addr)
{
	/* 'addr' is the memory table address. */
	return addr;
}

void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr);

#endif /* __ASSEMBLER__ */
#endif /* CONFIG_FUNCTION_TRACER */

#ifndef __ASSEMBLER__

/* arch/sh/kernel/return_address.c */
extern void *return_address(unsigned int);

#define ftrace_return_address(n) return_address(n)

#ifdef CONFIG_DYNAMIC_FTRACE
extern void arch_ftrace_nmi_enter(void);
extern void arch_ftrace_nmi_exit(void);
#else
static inline void arch_ftrace_nmi_enter(void) { }
static inline void arch_ftrace_nmi_exit(void) { }
#endif

#endif /* __ASSEMBLER__ */

#endif /* __ASM_SH_FTRACE_H */

Annotation

Implementation Notes