From: Mike Frysinger Date: Fri, 22 Jan 2010 12:35:20 +0000 (-0500) Subject: Blackfin: implement ftrace mcount test X-Git-Tag: upstream/snapshot3+hdmi~15035^2~40 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aebfef03249819886a7f9c981940cbd48d82ea47;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git Blackfin: implement ftrace mcount test Signed-off-by: Mike Frysinger --- diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index f46db59..3123aa4 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig @@ -25,6 +25,7 @@ config BLACKFIN def_bool y select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_TRACER + select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_IDE select HAVE_KERNEL_GZIP if RAMKERNEL select HAVE_KERNEL_BZIP2 if RAMKERNEL diff --git a/arch/blackfin/kernel/ftrace-entry.S b/arch/blackfin/kernel/ftrace-entry.S index 76dd4fb..db3a51b 100644 --- a/arch/blackfin/kernel/ftrace-entry.S +++ b/arch/blackfin/kernel/ftrace-entry.S @@ -1,7 +1,7 @@ /* * mcount and friends -- ftrace stuff * - * Copyright (C) 2009 Analog Devices Inc. + * Copyright (C) 2009-2010 Analog Devices Inc. * Licensed under the GPL-2 or later. */ @@ -21,6 +21,15 @@ * function will be waiting there. mmmm pie. */ ENTRY(__mcount) +#ifdef CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST + /* optional micro optimization: return if stopped */ + p1.l = _function_trace_stop; + p1.h = _function_trace_stop; + r3 = [p1]; + cc = r3 == 0; + if ! cc jump _ftrace_stub (bp); +#endif + /* save third function arg early so we can do testing below */ [--sp] = r2;