/linux-6.6.21/Documentation/trace/ |
D | ftrace-design.rst | 37 You will need to implement the mcount and the ftrace_stub functions. 39 The exact mcount symbol name will depend on your toolchain. Some call it 40 "mcount", "_mcount", or even "__mcount". You can probably figure it out by 43 $ echo 'main(){}' | gcc -x c -S -o - - -pg | grep mcount 44 call mcount 46 We'll make the assumption below that the symbol is "mcount" just to keep things 49 Keep in mind that the ABI that is in effect inside of the mcount function is 54 mcount call (before/after function prologue). You might also want to look at 55 how glibc has implemented the mcount function for your architecture. It might 58 The mcount function should check the function pointer ftrace_trace_function [all …]
|
/linux-6.6.21/arch/sparc/lib/ |
D | mcount.S | 22 .globl mcount 23 .type mcount,#function 25 mcount: label 70 .size mcount,.-mcount
|
/linux-6.6.21/arch/um/kernel/ |
D | gprof_syms.c | 8 extern void mcount(void); 9 EXPORT_SYMBOL(mcount);
|
/linux-6.6.21/net/dsa/ |
D | master.c | 158 int mcount = 0, count, i; in dsa_master_get_strings() local 168 mcount = phy_ethtool_get_sset_count(dev->phydev); in dsa_master_get_strings() 169 if (mcount < 0) in dsa_master_get_strings() 170 mcount = 0; in dsa_master_get_strings() 174 mcount = ops->get_sset_count(dev, stringset); in dsa_master_get_strings() 175 if (mcount < 0) in dsa_master_get_strings() 176 mcount = 0; in dsa_master_get_strings() 181 ndata = data + mcount * len; in dsa_master_get_strings()
|
/linux-6.6.21/arch/ia64/include/asm/ |
D | ftrace.h | 10 #define mcount _mcount macro 13 #define MCOUNT_ADDR (((struct fnptr *)mcount)->ip)
|
/linux-6.6.21/arch/parisc/include/asm/ |
D | ftrace.h | 6 extern void mcount(void); 8 #define MCOUNT_ADDR ((unsigned long)mcount)
|
/linux-6.6.21/arch/sh/include/asm/ |
D | ftrace.h | 11 extern void mcount(void); 13 #define MCOUNT_ADDR ((unsigned long)(mcount))
|
/linux-6.6.21/include/linux/ |
D | rethook.h | 72 void rethook_hook(struct rethook_node *node, struct pt_regs *regs, bool mcount); 77 void arch_rethook_prepare(struct rethook_node *node, struct pt_regs *regs, bool mcount);
|
/linux-6.6.21/tools/objtool/ |
D | builtin-check.c | 72 OPT_BOOLEAN('m', "mcount", &opts.mcount, "annotate mcount/fentry calls for ftrace"), 137 opts.mcount || in opts_valid() 168 if (opts.mnop && !opts.mcount) { in mnop_opts_valid()
|
/linux-6.6.21/arch/sh/lib/ |
D | mcount.S | 82 .globl mcount 83 .type mcount,@function 85 mcount: label
|
/linux-6.6.21/arch/loongarch/kernel/ |
D | rethook.h | 6 void arch_rethook_prepare(struct rethook_node *rhn, struct pt_regs *regs, bool mcount);
|
D | rethook.c | 17 void arch_rethook_prepare(struct rethook_node *rhn, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
/linux-6.6.21/arch/riscv/kernel/probes/ |
D | rethook.h | 6 void arch_rethook_prepare(struct rethook_node *rhn, struct pt_regs *regs, bool mcount);
|
D | rethook.c | 18 void arch_rethook_prepare(struct rethook_node *rhn, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
/linux-6.6.21/arch/xtensa/include/asm/ |
D | ftrace.h | 27 #define mcount _mcount macro
|
/linux-6.6.21/arch/s390/kernel/ |
D | Makefile | 61 obj-$(CONFIG_KPROBES) += mcount.o 64 obj-$(CONFIG_FUNCTION_TRACER) += mcount.o
|
D | rethook.c | 6 void arch_rethook_prepare(struct rethook_node *rh, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
/linux-6.6.21/arch/riscv/kernel/ |
D | Makefile | 78 obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o 79 obj-$(CONFIG_DYNAMIC_FTRACE) += mcount-dyn.o
|
/linux-6.6.21/arch/csky/abiv2/ |
D | Makefile | 14 obj-$(CONFIG_FUNCTION_TRACER) += mcount.o
|
/linux-6.6.21/tools/objtool/include/objtool/ |
D | builtin.h | 17 bool mcount; member
|
/linux-6.6.21/drivers/mtd/nand/onenand/ |
D | onenand_samsung.c | 383 int i, mcount, scount; in s3c_onenand_command() local 417 mcount = mtd->writesize >> 2; in s3c_onenand_command() 423 for (i = 0; i < mcount; i++) in s3c_onenand_command() 430 for (i = 0; i < mcount; i++) in s3c_onenand_command() 442 for (i = 0; i < mcount; i++) in s3c_onenand_command() 450 for (i = 0; i < mcount; i++) in s3c_onenand_command()
|
/linux-6.6.21/kernel/trace/ |
D | rethook.c | 207 void rethook_hook(struct rethook_node *node, struct pt_regs *regs, bool mcount) in rethook_hook() argument 209 arch_rethook_prepare(node, regs, mcount); in rethook_hook()
|
/linux-6.6.21/arch/x86/kernel/ |
D | rethook.c | 117 void arch_rethook_prepare(struct rethook_node *rh, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
/linux-6.6.21/arch/microblaze/kernel/ |
D | Makefile | 27 obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o mcount.o
|
/linux-6.6.21/arch/mips/include/asm/ |
D | ftrace.h | 20 #define mcount _mcount macro
|