Blackfin: implement ftrace mcount test

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2010-01-22 07:35:20 -05:00
parent 6388d14eb2
commit aebfef0324
2 changed files with 11 additions and 1 deletions

View File

@ -25,6 +25,7 @@ config BLACKFIN
def_bool y def_bool y
select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACER
select HAVE_FUNCTION_TRACE_MCOUNT_TEST
select HAVE_IDE select HAVE_IDE
select HAVE_KERNEL_GZIP if RAMKERNEL select HAVE_KERNEL_GZIP if RAMKERNEL
select HAVE_KERNEL_BZIP2 if RAMKERNEL select HAVE_KERNEL_BZIP2 if RAMKERNEL

View File

@ -1,7 +1,7 @@
/* /*
* mcount and friends -- ftrace stuff * 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. * Licensed under the GPL-2 or later.
*/ */
@ -21,6 +21,15 @@
* function will be waiting there. mmmm pie. * function will be waiting there. mmmm pie.
*/ */
ENTRY(__mcount) 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 */ /* save third function arg early so we can do testing below */
[--sp] = r2; [--sp] = r2;