[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAEZQSseKMRnkxEQt4dLSUQfxRk00hJOOe8puA9esVX9JNt_KWg@mail.gmail.com>
Date: Tue, 24 Jan 2017 00:43:19 +0000
From: Abel Vesa <abelvesa@...il.com>
To: Jean-Jacques Hiblot <jjhiblot@...phandler.com>
Cc: Petr Mladek <pmladek@...e.com>,
Russell King - ARM Linux <linux@...linux.org.uk>,
Steven Rostedt <rostedt@...dmis.org>, mingo@...hat.com,
viro@...iv.linux.org.uk,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Robin Murphy <robin.murphy@....com>,
zhouchengming <zhouchengming1@...wei.com>
Subject: Re: [PATCH] arm: ftrace: Adds support for CONFIG_DYNAMIC_FTRACE_WITH_REGS
Hi Jean-Jacques,
Here is the implementation I've made for ftrace_graph_regs_caller:
.macro __ftrace_graph_regs_caller
sub r0, fp, #4 @ lr of
instrumented routine (parent)
@ called from __ftrace_regs_caller
ldr r1, [sp, #56] @ instrumented routine (func)
mcount_adjust_addr r1, r1
sub r2, r0, #4 @ frame pointer
bl prepare_ftrace_return
ldr lr, [sp, #64] @ restore lr from the stack
ldmia sp, {r0-r11, ip, sp} @ restore r0 through sp
ret ip
.endm
AFAIK, you can still use fp (see the implementation without regs) since
it is an alternative name for r11. The FRAME_POINTER config options does
something else entirely and has nothing to do with what we need here.
I tested it but unfortunately, my current setup is with qemu and I don't have
a real hardware here close to test it properly. Could you please tell me if this
works on your setup?
Also the way I tested it was to comment out the code that uses the default
ftrace_graph_caller in ftrace_modify_graph_caller and enforced the usage of
the one with regs.
I will create a proper patch later today (I need to cleanup some stuff
first) and
send it.
Thanks,
Abel
Powered by blists - more mailing lists