I am currently traveling and will not be in a position to give your email the attention it diserve until Monday August 12.

Regards,
Mathieu

On Thu, Aug 1, 2019, 8:30 PM Jeremy Ng <ngyzj95@gmail.com> wrote:
Hi Mathieu,

I will like to ask how I might be able to configure the options in
trcconfig driver file, found in /sys/bus/coresight/devices/*.etm/mgmt/ .

For example, the trcidr0 denotes that tssize = 64bits (which indicates
that timestamps are supported), retstack, cc, bb are also supported.

However, my trcconfig file shows that none of the options are activated.

In the *.etm driver files, it has the following files in it that I thought
might have been linked to trcconfig, or at least be related to
activating some of the options that are currently activated:
    1. bb_ctrl (obviously bb)
    2. cntr_ctrl
    3. cyc_threshold (cc?)
    4. event_ts (ts)

I am hoping that help in activating these options can be provided.

On another note, I will also like to ask if there might be example files
that I may refer to to using sequencer/resource/events.

In the *.etm file, there are
seq_event,seq_idx,seq_reset_event,seq_state/res_ctrl,
res_idx/event,event_instren,event_ts,event_vinst in the respective order
(seq/res/events).
I will like to understand how I might use these features to improve my
tracing results.
As well as understanding the various values I could apply to the mode file.

As quoted in sysfs-bus-coresight-devices-etm4x,
What:        /sys/bus/coresight/devices/<memory_map>.etm/mode
Date:        April 2015
KernelVersion:    4.01
Contact:    Mathieu Poirier <mathieu.poirier@linaro.org>
Description:     (RW) Controls various modes supported by this ETM, for example
        P0 instruction tracing, branch broadcast, cycle counting and
        context ID tracing.

However it does not explain how that file can control various modes.
I have tried toying with this files and it went from useful tracing
results to just
kernel instruction tracing results. After applying 0x0 to the mode
again (which was
the default value when i start up my device), I am unable to re-obtain
useful trace results and had to resort to re-power my device.

Lastly, I understand that nr_ss_cmp meant that my etm can only
have 1 single-shot comparator during a trace (correct me if I am wrong).
This explains why when I applied 0x3 to addr_idx and set addr_start value,
I am unable to set a value for addr_stop. On the other hand,i have 0x4
nr_addr_cmp.
However, I do not understand how I might be able to use the other 2
addr comparator
(i.e. when addr_idx = 0, I am able to set addr_start and addr_stop,
which took up
2 addr_cmp. How then, might I be able to use the other 2 addr_cmp?)

My apologies for many amateurish questions. I have been looking at the
etm documentation (IHI0064F), particularly on comparators, bb, ts, events,
resources but unfortunately unable to connect the dots on how I might be
able to use them with the coresight drivers.

Yours Sincerely,
Jeremy Ng