perf cs-etm: Add traceID in packet

Add traceID in packet, thus we can use traceID to retrieve metadata
pointer from traceID-metadata tuple.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Robert Walker <robert.walker@arm.com>
Cc: Suzuki K Poulouse <suzuki.poulose@arm.com>
Cc: coresight ml <coresight@lists.linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/20190129122842.32041-7-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Leo Yan 2019-01-29 20:28:40 +08:00 committed by Arnaldo Carvalho de Melo
parent 95c6fe970a
commit 03919e526b
2 changed files with 3 additions and 0 deletions

View File

@ -295,6 +295,7 @@ static void cs_etm_decoder__clear_buffer(struct cs_etm_decoder *decoder)
decoder->packet_buffer[i].last_instr_cond = 0; decoder->packet_buffer[i].last_instr_cond = 0;
decoder->packet_buffer[i].flags = 0; decoder->packet_buffer[i].flags = 0;
decoder->packet_buffer[i].exception_number = UINT32_MAX; decoder->packet_buffer[i].exception_number = UINT32_MAX;
decoder->packet_buffer[i].trace_chan_id = UINT8_MAX;
decoder->packet_buffer[i].cpu = INT_MIN; decoder->packet_buffer[i].cpu = INT_MIN;
} }
} }
@ -331,6 +332,7 @@ cs_etm_decoder__buffer_packet(struct cs_etm_decoder *decoder,
decoder->packet_buffer[et].last_instr_cond = 0; decoder->packet_buffer[et].last_instr_cond = 0;
decoder->packet_buffer[et].flags = 0; decoder->packet_buffer[et].flags = 0;
decoder->packet_buffer[et].exception_number = UINT32_MAX; decoder->packet_buffer[et].exception_number = UINT32_MAX;
decoder->packet_buffer[et].trace_chan_id = trace_chan_id;
if (decoder->packet_count == MAX_BUFFER - 1) if (decoder->packet_count == MAX_BUFFER - 1)
return OCSD_RESP_WAIT; return OCSD_RESP_WAIT;

View File

@ -50,6 +50,7 @@ struct cs_etm_packet {
u8 last_instr_cond; u8 last_instr_cond;
u8 last_instr_taken_branch; u8 last_instr_taken_branch;
u8 last_instr_size; u8 last_instr_size;
u8 trace_chan_id;
int cpu; int cpu;
}; };