Hi,
The OCSD_INSTR_WFI_WFE instruction sub-type is added to the library headers from version 0.11.0 of openCSD to support later ETMv4 versions. This does require an update to the perf code in cs-etm-decoder.c to add this value into the handling code in the default part of the case statement - e.g.:-
case OCSD_INSTR_ISB: case OCSD_INSTR_DSB_DMB: + case OCSD_INSTR_WFI_WFE: case OCSD_INSTR_OTHER: default:
The perf-opencsd master branch has not had an update to cover this yet.
The present perf decode does not use this value. If you do not specifically need ETMv4.3 support for authenticated pointer trace then it is safe to use the latest v0.10.x decoder with the perf-opencsd. Otherwise you will need to patch locally till a patch is made available in the repository, or the upstream perf supports the later OpenCSD.
Regards
Mike
On Tue, 19 Mar 2019 at 07:46, Solomon notifications@github.com wrote:
After installing the OpenCSD library, I tried to compile perf from perf-opencsd. I used the command make VF=1 -C tools/perf. However, I got the following error:
CC util/intel-pt-decoder/intel-pt-log.o
CC util/cs-etm-decoder/cs-etm-decoder.o
util/cs-etm-decoder/cs-etm-decoder.c: In function ‘cs_etm_decoder__buffer_range’:
util/cs-etm-decoder/cs-etm-decoder.c:370:2: error: enumeration value ‘OCSD_INSTR_WFI_WFE’ not handled in switch [-Werror=switch-enum]
switch (elem->last_i_type) {
^~~~~~
CC util/intel-pt-decoder/intel-pt-decoder.o
cc1: all warnings being treated as errors
Has anyone had the same issue before?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.