Thread (5 messages) flat view 5 messages, 3 authors, 2012-06-29

How to use ARM ETM/ETB at linux?

From: arve@android.com (Arve Hjønnevåg)
Date: 2012-06-28 20:38:50

On Thu, Jun 28, 2012 at 8:42 AM, Linus Walleij [off-list ref] wrote:
On Thu, Jun 21, 2012 at 7:38 AM, Frank Li [off-list ref] wrote:
quoted
Anyone use ARM ETM/ETB before?
I know for sure that Arve has been making good use of the ETB+ETB,
since there are some nice patches for it in the Android source tree,
but I don't know how he's using it :-)
I have not used it a lot, but I made changes to make it work on
systems with Cortex A8, A9 and A15 cpus. I found it most useful to
debug watchdog resets, but I had to manually figure out where in the
buffer the data starts since the pointers were lost on a reset.
John Stultz recently submitted some of Arves patches upstream so let's
ask these gentlemen how they use it.

Yours,
Linus Walleij
quoted
I run.
echo 1 > /sys/devices/etm/trace_running

root at freescale /$ echo v >/proc/sysrq-trigger
SysRq : etm
Trace buffer contents length: 4
--- ETB buffer begin ---
01000000000000000000000000000000
--- ETB buffer end ---
Make sure you don't have trace-funnels between the trace cell and the
trace buffer that need to be configured. All the SOCs I used have at
least one trace funnel in the way that by default did not not pass any
data through. The driver has no code to configure these (the channels
used are SOC specific and usually not well documented).

Also, at least one SOC I used would not output any trace data with the
default configuration since it considered the kernel to be executing
in secure mode. One of the patches from the android tree fixes this.

quoted

best regards
Frank Li
Yours,
Linus Walleij


-- 
Arve Hj?nnev?g
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help