| /linux/Documentation/trace/ |
| H A 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/arch/sparc/lib/ |
| H A D | mcount.S | 22 .globl mcount 23 .type mcount,#function 25 mcount: label 70 .size mcount,.-mcount
|
| /linux/net/dsa/ |
| H A D | conduit.c | 115 int count, mcount = 0; in dsa_conduit_get_ethtool_phy_stats() 119 mcount = ops->get_sset_count(dev, ETH_SS_STATS); in dsa_conduit_get_ethtool_phy_stats() 129 data, mcount); in dsa_conduit_get_ethtool_phy_stats() 133 mcount += count; in dsa_conduit_get_ethtool_phy_stats() 240 int count, mcount = 0; in dsa_conduit_ethtool_setup() 245 mcount = phy_ethtool_get_sset_count(dev->phydev); in dsa_conduit_ethtool_setup() 246 if (mcount < 0) in dsa_conduit_ethtool_setup() 247 mcount = 0; in dsa_conduit_ethtool_setup() 251 mcount = ops->get_sset_count(dev, stringset); in dsa_conduit_ethtool_setup() 252 if (mcount < in dsa_conduit_ethtool_setup() 171 int mcount = 0, count, i; dsa_conduit_get_strings() local [all...] |
| /linux/arch/um/kernel/ |
| H A D | gprof_syms.c | 8 extern void mcount(void); 9 EXPORT_SYMBOL(mcount);
|
| /linux/arch/parisc/include/asm/ |
| H A D | ftrace.h | 6 extern void mcount(void); 8 #define MCOUNT_ADDR ((unsigned long)mcount)
|
| /linux/arch/sh/include/asm/ |
| H A D | ftrace.h | 11 extern void mcount(void); 13 #define MCOUNT_ADDR ((unsigned long)(mcount))
|
| /linux/include/linux/ |
| H A D | rethook.h | 65 void rethook_hook(struct rethook_node *node, struct pt_regs *regs, bool mcount); 70 void arch_rethook_prepare(struct rethook_node *node, struct pt_regs *regs, bool mcount);
|
| /linux/arch/sh/lib/ |
| H A D | mcount.S | 82 .globl mcount 83 .type mcount,@function 85 mcount: label
|
| H A D | Makefile | 29 lib-$(CONFIG_MCOUNT) += mcount.o
|
| /linux/tools/objtool/ |
| H A D | builtin-check.c | 81 OPT_BOOLEAN('m', "mcount", &opts.mcount, "annotate mcount/fentry calls for ftrace"), 102 OPT_BOOLEAN(0, "mnop", &opts.mnop, "nop out mcount call sites"), 148 if (opts.mnop && !opts.mcount) { in opts_valid() 149 ERROR("--mnop requires --mcount"); in opts_valid() 185 opts.mcount || in opts_valid()
|
| /linux/arch/riscv/kernel/probes/ |
| H A D | rethook.h | 6 void arch_rethook_prepare(struct rethook_node *rhn, struct pt_regs *regs, bool mcount);
|
| H A D | rethook.c | 18 void arch_rethook_prepare(struct rethook_node *rhn, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
| /linux/arch/loongarch/kernel/ |
| H A D | rethook.h | 6 void arch_rethook_prepare(struct rethook_node *rhn, struct pt_regs *regs, bool mcount);
|
| H A D | rethook.c | 17 void arch_rethook_prepare(struct rethook_node *rhn, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
| /linux/drivers/mtd/nand/onenand/ |
| H A 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/arch/xtensa/include/asm/ |
| H A D | ftrace.h | 27 #define mcount _mcount macro
|
| /linux/kernel/trace/ |
| H A D | rethook.c | 188 * @mcount: True if this is called from mcount(ftrace) context. 192 * entry.) @mcount is used for identifying the context. If this is called 193 * from ftrace (mcount) callback, @mcount must be set true. If this is called 194 * from the real function entry (e.g. kprobes) @mcount must be set false. 197 void rethook_hook(struct rethook_node *node, struct pt_regs *regs, bool mcount) in rethook_hook() argument 199 arch_rethook_prepare(node, regs, mcount); in rethook_hook()
|
| /linux/arch/csky/abiv2/ |
| H A D | Makefile | 14 obj-$(CONFIG_FUNCTION_TRACER) += mcount.o
|
| /linux/arch/s390/kernel/ |
| H A D | rethook.c | 6 void arch_rethook_prepare(struct rethook_node *rh, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
| /linux/tools/objtool/include/objtool/ |
| H A D | builtin.h | 19 bool mcount; 17 bool mcount; global() member
|
| /linux/arch/powerpc/kernel/ |
| H A D | rethook.c | 31 void arch_rethook_prepare(struct rethook_node *rh, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
| /linux/arch/riscv/kernel/ |
| H A D | Makefile | 98 obj-$(CONFIG_FUNCTION_TRACER) += mcount.o ftrace.o 99 obj-$(CONFIG_DYNAMIC_FTRACE) += mcount-dyn.o
|
| /linux/arch/microblaze/kernel/ |
| H A D | Makefile | 26 obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o mcount.o
|
| /linux/arch/x86/kernel/ |
| H A D | rethook.c | 117 void arch_rethook_prepare(struct rethook_node *rh, struct pt_regs *regs, bool mcount) in arch_rethook_prepare() argument
|
| /linux/arch/loongarch/include/asm/ |
| H A D | ftrace.h | 21 #define mcount _mcount macro
|