coresight: etm4x: adding config and traceid registers

Adding new sysFS management interface to query the configuration
and the traceid registers.  Both are required to convey information
to the perf cmd line tools when using ETMv4 tracers as PMU.

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 7c38aa4b03b3fc6ce17e5a00327f8c0be18daf8a)
This commit is contained in:
Mathieu Poirier 2016-04-05 11:53:43 -06:00
parent f069ef6e0d
commit 2b888e472c
2 changed files with 17 additions and 0 deletions

View file

@ -359,6 +359,19 @@ Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
Description: (R) Print the content of the Peripheral ID3 Register Description: (R) Print the content of the Peripheral ID3 Register
(0xFEC). The value is taken directly from the HW. (0xFEC). The value is taken directly from the HW.
What: /sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcconfig
Date: February 2016
KernelVersion: 4.07
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
Description: (R) Print the content of the trace configuration register
(0x010) as currently set by SW.
What: /sys/bus/coresight/devices/<memory_map>.etm/mgmt/trctraceid
Date: February 2016
KernelVersion: 4.07
Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
Description: (R) Print the content of the trace ID register (0x040).
What: /sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr0 What: /sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr0
Date: April 2015 Date: April 2015
KernelVersion: 4.01 KernelVersion: 4.01

View file

@ -1972,6 +1972,8 @@ coresight_simple_func(trcoslsr, TRCOSLSR);
coresight_simple_func(trcpdcr, TRCPDCR); coresight_simple_func(trcpdcr, TRCPDCR);
coresight_simple_func(trcpdsr, TRCPDSR); coresight_simple_func(trcpdsr, TRCPDSR);
coresight_simple_func(trclsr, TRCLSR); coresight_simple_func(trclsr, TRCLSR);
coresight_simple_func(trcconfig, TRCCONFIGR);
coresight_simple_func(trctraceid, TRCTRACEIDR);
coresight_simple_func(trcauthstatus, TRCAUTHSTATUS); coresight_simple_func(trcauthstatus, TRCAUTHSTATUS);
coresight_simple_func(trcdevid, TRCDEVID); coresight_simple_func(trcdevid, TRCDEVID);
coresight_simple_func(trcdevtype, TRCDEVTYPE); coresight_simple_func(trcdevtype, TRCDEVTYPE);
@ -1985,6 +1987,8 @@ static struct attribute *coresight_etmv4_mgmt_attrs[] = {
&dev_attr_trcpdcr.attr, &dev_attr_trcpdcr.attr,
&dev_attr_trcpdsr.attr, &dev_attr_trcpdsr.attr,
&dev_attr_trclsr.attr, &dev_attr_trclsr.attr,
&dev_attr_trcconfig.attr,
&dev_attr_trctraceid.attr,
&dev_attr_trcauthstatus.attr, &dev_attr_trcauthstatus.attr,
&dev_attr_trcdevid.attr, &dev_attr_trcdevid.attr,
&dev_attr_trcdevtype.attr, &dev_attr_trcdevtype.attr,