Signed-off-by: Mathieu Poirier mathieu.poirier@linaro.org --- HOWTO.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/HOWTO.md b/HOWTO.md index ad19e9eb4aea..47e67f734964 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -7,8 +7,8 @@ This HOWTO explains how to use the perf cmd line tools and the openCSD library to collect and extract program flow traces generated by the CoreSight IP blocks on a Linux system. The examples have been generated using an aarch64 Juno-r0 platform. All information is considered accurate and tested -using library branches `opencsd-0v002` and `opencsd-0v003` (decode library only) -and the latest perf branch `perf-opencsd-4.7-rc4` (decode library + perf tools) +using library branches `opencsd-0v002` and `opencsd-0v003` (decode library only) +and the latest perf branch `perf-opencsd-4.7` (decode library + perf tools) on the [OpenCSD github repository][1].
@@ -17,8 +17,8 @@ On Target Trace Acquisition - Perf Record
All the enhancement to the Perf tools that support the new `cs_etm` pmu have not been upstreamed yet. To get the required functionality branch -`perf-opencsd-4.7-rc4` needs to be downloaded to the target system where -traces are to be collected. This branch is an upstream v4.7-rc4 kernel +`perf-opencsd-4.7` needs to be downloaded to the target system where +traces are to be collected. This branch is an upstream v4.7 kernel supplemented with modifications to the CoreSight framework and drivers to be usable by the Perf core. The remaining out of tree patches are being upstreamed incrementally. @@ -163,14 +163,14 @@ the host's (which has nothing to do with the target) architecture: Off Target Perf Tools Compilation --------------------------------- As stated above not all the pieces of the solution have been upstreamed. To -get all the components branch `perf-opencsd-4.7-rc4` needs to be +get all the components branch `perf-opencsd-4.7` needs to be obtained:
- linaro@t430:~/linaro/coresight$ git clone -b perf-opencsd-4.7-rc4 https://github.com/Linaro/OpenCSD.git perf-opencsd-4.7-rc4 + linaro@t430:~/linaro/coresight$ git clone -b perf-opencsd-4.7 https://github.com/Linaro/OpenCSD.git perf-opencsd-4.7 ... ...
- linaro@t430:~/linaro/coresight$ ls perf-opencsd-4.7-rc4/ + linaro@t430:~/linaro/coresight$ ls perf-opencsd-4.7/ arch certs CREDITS Documentation firmware include ipc Kconfig lib Makefile net REPORTING-BUGS scripts sound usr block COPYING crypto drivers fs init Kbuild kernel MAINTAINERS mm README samples security tools virt
@@ -179,12 +179,12 @@ variable telling the build scripts where to find the library is needed. If the `CSTRACE_PATH` variable is not defined the compilation will still be successful, but handling of CoreSight trace data won't be supported.
- linaro@t430:~/linaro/coresight$ cd perf-opencsd-4.7-rc4 - linaro@t430:~/linaro/coresight/perf-opencsd-4.7-rc4$ export CSTRACE_PATH=~/linaro/coresight/opencsd-0v003/decoder - linaro@t430:~/linaro/coresight/perf-opencsd-4.7-rc4$ make -C tools/perf + linaro@t430:~/linaro/coresight$ cd perf-opencsd-4.7 + linaro@t430:~/linaro/coresight/perf-opencsd-4.7$ export CSTRACE_PATH=~/linaro/coresight/opencsd-0v003/decoder + linaro@t430:~/linaro/coresight/perf-opencsd-4.7$ make -C tools/perf ... ... - linaro@t430:~/linaro/coresight/perf-opencsd-4.7-rc4$ ls -l tools/perf/perf + linaro@t430:~/linaro/coresight/perf-opencsd-4.7$ ls -l tools/perf/perf -rwxrwxr-x 1 linaro linaro 6276360 Mar 3 10:05 tools/perf/perf
@@ -224,7 +224,7 @@ to be sure everything is clean. linaro@t430:~/linaro/coresight/feb24$ rm -rf ~/.debug linaro@t430:~/linaro/coresight/feb24$ cp -dpR .debug ~/ linaro@t430:~/linaro/coresight/feb24$ export LD_LIBRARY_PATH=~/linaro/coresight/opencsd-0v003/decoder/lib/linux64/dbg/ - linaro@t430:~/linaro/coresight/feb24$ ../perf-opencsd-4.7-rc4/tools/perf/perf report --stdio + linaro@t430:~/linaro/coresight/feb24$ ../perf-opencsd-4.7/tools/perf/perf report --stdio
# To display the perf.data header info, please use --header/--header-only options. # @@ -268,7 +268,7 @@ to be sure everything is clean.
Additional data can be obtained, which contains a dump of the trace packets received using the command
- mjl@ubuntu-vbox:./perf-opencsd-4.7-rc4/coresight/tools/perf/perf report --stdio --dump + mjl@ubuntu-vbox:./perf-opencsd-4.7/coresight/tools/perf/perf report --stdio --dump
resulting a large amount of data, trace looking like:-
@@ -317,10 +317,10 @@ Trace Decoding with Perf Script Working with perf scripts needs more command line options but yields interesting results.
- linaro@t430:~/linaro/coresight/feb24$ export EXEC_PATH=/home/linaro/coresight/perf-opencsd-4.7-rc4/tools/perf/ + linaro@t430:~/linaro/coresight/feb24$ export EXEC_PATH=/home/linaro/coresight/perf-opencsd-4.7/tools/perf/ linaro@t430:~/linaro/coresight/feb24$ export SCRIPT_PATH=$EXEC_PATH/scripts/python/ linaro@t430:~/linaro/coresight/feb24$ export XTOOL_PATH=/your/aarch64/toolchain/path/bin/ - linaro@t430:~/linaro/coresight/feb24$ ../perf-opencsd-4.7-rc4/tools/perf/perf --exec-path=${EXEC_PATH} script --script=python:${SCRIPT_PATH}/cs-trace-disasm.py -- -d ${XTOOL_PATH}/aarch64-linux-gnu-objdump + linaro@t430:~/linaro/coresight/feb24$ ../perf-opencsd-4.7/tools/perf/perf --exec-path=${EXEC_PATH} script --script=python:${SCRIPT_PATH}/cs-trace-disasm.py -- -d ${XTOOL_PATH}/aarch64-linux-gnu-objdump
7f89f24d80: 910003e0 mov x0, sp 7f89f24d84: 94000d53 bl 7f89f282d0 <free@plt+0x3790>
Thanks, I'll apply this once I have the correct network access. Mike
On 25 July 2016 at 19:13, Mathieu Poirier mathieu.poirier@linaro.org wrote:
Signed-off-by: Mathieu Poirier mathieu.poirier@linaro.org
HOWTO.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/HOWTO.md b/HOWTO.md index ad19e9eb4aea..47e67f734964 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -7,8 +7,8 @@ This HOWTO explains how to use the perf cmd line tools and the openCSD library to collect and extract program flow traces generated by the CoreSight IP blocks on a Linux system. The examples have been generated using an aarch64 Juno-r0 platform. All information is considered accurate and tested -using library branches `opencsd-0v002` and `opencsd-0v003` (decode library only) -and the latest perf branch `perf-opencsd-4.7-rc4` (decode library + perf tools) +using library branches `opencsd-0v002` and `opencsd-0v003` (decode library only) +and the latest perf branch `perf-opencsd-4.7` (decode library + perf tools) on the [OpenCSD github repository][1].
@@ -17,8 +17,8 @@ On Target Trace Acquisition - Perf Record
All the enhancement to the Perf tools that support the new `cs_etm` pmu have not been upstreamed yet. To get the required functionality branch -`perf-opencsd-4.7-rc4` needs to be downloaded to the target system where -traces are to be collected. This branch is an upstream v4.7-rc4 kernel +`perf-opencsd-4.7` needs to be downloaded to the target system where +traces are to be collected. This branch is an upstream v4.7 kernel supplemented with modifications to the CoreSight framework and drivers to be usable by the Perf core. The remaining out of tree patches are being upstreamed incrementally. @@ -163,14 +163,14 @@ the host's (which has nothing to do with the target) architecture: Off Target Perf Tools Compilation
As stated above not all the pieces of the solution have been upstreamed. To -get all the components branch `perf-opencsd-4.7-rc4` needs to be +get all the components branch `perf-opencsd-4.7` needs to be obtained:
- linaro@t430:~/linaro/coresight$ git clone -b perf-opencsd-4.7-rc4
https://github.com/Linaro/OpenCSD.git perf-opencsd-4.7-rc4
- linaro@t430:~/linaro/coresight$ git clone -b perf-opencsd-4.7
https://github.com/Linaro/OpenCSD.git perf-opencsd-4.7 ... ...
- linaro@t430:~/linaro/coresight$ ls perf-opencsd-4.7-rc4/
- linaro@t430:~/linaro/coresight$ ls perf-opencsd-4.7/ arch certs CREDITS Documentation firmware include ipc
Kconfig lib Makefile net REPORTING-BUGS scripts sound usr block COPYING crypto drivers fs init Kbuild kernel MAINTAINERS mm README samples security tools virt
@@ -179,12 +179,12 @@ variable telling the build scripts where to find the library is needed. If the `CSTRACE_PATH` variable is not defined the compilation will still be successful, but handling of CoreSight trace data won't be supported.
- linaro@t430:~/linaro/coresight$ cd perf-opencsd-4.7-rc4
- linaro@t430:~/linaro/coresight/perf-opencsd-4.7-rc4$ export
CSTRACE_PATH=~/linaro/coresight/opencsd-0v003/decoder
- linaro@t430:~/linaro/coresight/perf-opencsd-4.7-rc4$ make -C
tools/perf
- linaro@t430:~/linaro/coresight$ cd perf-opencsd-4.7
- linaro@t430:~/linaro/coresight/perf-opencsd-4.7$ export
CSTRACE_PATH=~/linaro/coresight/opencsd-0v003/decoder
- linaro@t430:~/linaro/coresight/perf-opencsd-4.7$ make -C tools/perf ... ...
- linaro@t430:~/linaro/coresight/perf-opencsd-4.7-rc4$ ls -l
tools/perf/perf
- linaro@t430:~/linaro/coresight/perf-opencsd-4.7$ ls -l
tools/perf/perf -rwxrwxr-x 1 linaro linaro 6276360 Mar 3 10:05 tools/perf/perf
@@ -224,7 +224,7 @@ to be sure everything is clean. linaro@t430:~/linaro/coresight/feb24$ rm -rf ~/.debug linaro@t430:~/linaro/coresight/feb24$ cp -dpR .debug ~/ linaro@t430:~/linaro/coresight/feb24$ export LD_LIBRARY_PATH=~/linaro/coresight/opencsd-0v003/decoder/lib/linux64/dbg/
- linaro@t430:~/linaro/coresight/feb24$
../perf-opencsd-4.7-rc4/tools/perf/perf report --stdio
- linaro@t430:~/linaro/coresight/feb24$
../perf-opencsd-4.7/tools/perf/perf report --stdio
# To display the perf.data header info, please use
--header/--header-only options. # @@ -268,7 +268,7 @@ to be sure everything is clean.
Additional data can be obtained, which contains a dump of the trace packets received using the command
- mjl@ubuntu-vbox:./perf-opencsd-4.7-rc4/coresight/tools/perf/perf
report --stdio --dump
- mjl@ubuntu-vbox:./perf-opencsd-4.7/coresight/tools/perf/perf report
--stdio --dump
resulting a large amount of data, trace looking like:-
@@ -317,10 +317,10 @@ Trace Decoding with Perf Script Working with perf scripts needs more command line options but yields interesting results.
- linaro@t430:~/linaro/coresight/feb24$ export
EXEC_PATH=/home/linaro/coresight/perf-opencsd-4.7-rc4/tools/perf/
- linaro@t430:~/linaro/coresight/feb24$ export
EXEC_PATH=/home/linaro/coresight/perf-opencsd-4.7/tools/perf/ linaro@t430:~/linaro/coresight/feb24$ export SCRIPT_PATH=$EXEC_PATH/scripts/python/ linaro@t430:~/linaro/coresight/feb24$ export XTOOL_PATH=/your/aarch64/toolchain/path/bin/
- linaro@t430:~/linaro/coresight/feb24$
../perf-opencsd-4.7-rc4/tools/perf/perf --exec-path=${EXEC_PATH} script --script=python:${SCRIPT_PATH}/cs-trace-disasm.py -- -d ${XTOOL_PATH}/aarch64-linux-gnu-objdump
- linaro@t430:~/linaro/coresight/feb24$
../perf-opencsd-4.7/tools/perf/perf --exec-path=${EXEC_PATH} script --script=python:${SCRIPT_PATH}/cs-trace-disasm.py -- -d ${XTOOL_PATH}/aarch64-linux-gnu-objdump
7f89f24d80: 910003e0 mov x0, sp 7f89f24d84: 94000d53 bl 7f89f282d0 <free@plt
+0x3790>
2.7.4