@@ -1,5 +1,8 @@
menu "Kernel hacking"
+config TRACE_IRQFLAGS_SUPPORT
+ def_bool y
+
source "lib/Kconfig.debug"
config DEBUG_RODATA
@@ -1999,11 +1999,15 @@ ENDPROC(syscall_exit)
#ifdef CONFIG_FUNCTION_TRACER
.import ftrace_function_trampoline,code
ENTRY(_mcount)
+ bv %r0(%rp)
+ nop
+ /* not reached */
copy %r3, %arg2
b ftrace_function_trampoline
nop
ENDPROC(_mcount)
+#ifdef CONFIG_FUNCTION_GRAPH_TRACER
ENTRY(return_to_handler)
load32 return_trampoline, %rp
copy %ret0, %arg0
@@ -2019,7 +2023,19 @@ return_trampoline:
ftrace_stub:
bv %r0(%rp)
nop
+#else /* CONFIG_FUNCTION_GRAPH_TRACER */
+
+ENTRY(ftrace_stub)
+ bv %r0(%rp)
+ nop
+ENDPROC(ftrace_stub)
+
+#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
+
+#ifdef CONFIG_FUNCTION_GRAPH_TRACER
ENDPROC(return_to_handler)
+#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
+
#endif /* CONFIG_FUNCTION_TRACER */
#ifdef CONFIG_IRQSTACKS
@@ -156,7 +156,7 @@ void ftrace_function_trampoline(unsigned long parent,
return;
if (ftrace_trace_function != ftrace_stub) {
- ftrace_trace_function(parent, self_addr);
+ ftrace_trace_function(parent, self_addr, NULL, NULL);
return;
}
#ifdef CONFIG_FUNCTION_GRAPH_TRACER