Message ID | 20230120153706.20388-1-mike.leach@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | perf: cs-etm: Update decoder code for OpenCSD version 1.4 | expand |
On 20/01/2023 15:37, Mike Leach wrote: > OpenCSD version 1.4 is released with support for FEAT_ITE. > This adds a new packet type, with associated output element ID in > the packet type enum - OCSD_GEN_TRC_ELEM_INSTRUMENTATION. > > As we just ignore this packet in perf, add to the switch statement > to avoid the "enum not handled in switch error", but conditionally > so as not to break the perf build for older OpenCSD installations. > > Signed-off-by: Mike Leach <mike.leach@linaro.org> > --- > tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > index fa3aa9c0fb2e..48e7121880a9 100644 > --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > @@ -604,6 +604,9 @@ static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer( > case OCSD_GEN_TRC_ELEM_CUSTOM: > case OCSD_GEN_TRC_ELEM_SYNC_MARKER: > case OCSD_GEN_TRC_ELEM_MEMTRANS: > +#if (OCSD_VER_NUM >= 0x010400) > + case OCSD_GEN_TRC_ELEM_INSTRUMENTATION: > +#endif > default: > break; > } Checked the build with both old and new versions of OpenCSD and it's ok: Reviewed-by: James Clark <james.clark@arm.com>
On Fri, Jan 20, 2023 at 7:47 AM James Clark <james.clark@arm.com> wrote: > > > > On 20/01/2023 15:37, Mike Leach wrote: > > OpenCSD version 1.4 is released with support for FEAT_ITE. > > This adds a new packet type, with associated output element ID in > > the packet type enum - OCSD_GEN_TRC_ELEM_INSTRUMENTATION. > > > > As we just ignore this packet in perf, add to the switch statement > > to avoid the "enum not handled in switch error", but conditionally > > so as not to break the perf build for older OpenCSD installations. > > > > Signed-off-by: Mike Leach <mike.leach@linaro.org> > > --- > > tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > > index fa3aa9c0fb2e..48e7121880a9 100644 > > --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > > +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > > @@ -604,6 +604,9 @@ static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer( > > case OCSD_GEN_TRC_ELEM_CUSTOM: > > case OCSD_GEN_TRC_ELEM_SYNC_MARKER: > > case OCSD_GEN_TRC_ELEM_MEMTRANS: > > +#if (OCSD_VER_NUM >= 0x010400) > > + case OCSD_GEN_TRC_ELEM_INSTRUMENTATION: > > +#endif > > default: > > break; > > } > > Checked the build with both old and new versions of OpenCSD and it's ok: > > Reviewed-by: James Clark <james.clark@arm.com> Acked-by: Ian Rogers <irogers@google.com> Thanks, Ian
On 24/01/2023 21:50, Ian Rogers wrote: > On Fri, Jan 20, 2023 at 7:47 AM James Clark <james.clark@arm.com> wrote: >> >> >> >> On 20/01/2023 15:37, Mike Leach wrote: >>> OpenCSD version 1.4 is released with support for FEAT_ITE. >>> This adds a new packet type, with associated output element ID in >>> the packet type enum - OCSD_GEN_TRC_ELEM_INSTRUMENTATION. >>> >>> As we just ignore this packet in perf, add to the switch statement >>> to avoid the "enum not handled in switch error", but conditionally >>> so as not to break the perf build for older OpenCSD installations. >>> >>> Signed-off-by: Mike Leach <mike.leach@linaro.org> >>> --- >>> tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c >>> index fa3aa9c0fb2e..48e7121880a9 100644 >>> --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c >>> +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c >>> @@ -604,6 +604,9 @@ static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer( >>> case OCSD_GEN_TRC_ELEM_CUSTOM: >>> case OCSD_GEN_TRC_ELEM_SYNC_MARKER: >>> case OCSD_GEN_TRC_ELEM_MEMTRANS: >>> +#if (OCSD_VER_NUM >= 0x010400) >>> + case OCSD_GEN_TRC_ELEM_INSTRUMENTATION: >>> +#endif >>> default: >>> break; >>> } >> >> Checked the build with both old and new versions of OpenCSD and it's ok: >> >> Reviewed-by: James Clark <james.clark@arm.com> > > Acked-by: Ian Rogers <irogers@google.com> > > Thanks, > Ian Hi Arnaldo, Is it ok to merge this change? If anyone is building with the latest OpenCSD they will get a build error on the unhandled switch case, and we just got it in our CI too. I suppose we could disable the warning around this switch, but it's pretty rare to add new packets so might be best to leave it. Thanks James
Em Mon, Jan 30, 2023 at 12:05:53PM +0000, James Clark escreveu: > On 24/01/2023 21:50, Ian Rogers wrote: > > On Fri, Jan 20, 2023 at 7:47 AM James Clark <james.clark@arm.com> wrote: > >> On 20/01/2023 15:37, Mike Leach wrote: > >>> OpenCSD version 1.4 is released with support for FEAT_ITE. > >>> This adds a new packet type, with associated output element ID in > >>> the packet type enum - OCSD_GEN_TRC_ELEM_INSTRUMENTATION. > >>> > >>> As we just ignore this packet in perf, add to the switch statement > >>> to avoid the "enum not handled in switch error", but conditionally > >>> so as not to break the perf build for older OpenCSD installations. > >>> > >>> Signed-off-by: Mike Leach <mike.leach@linaro.org> > >>> --- > >>> tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 3 +++ > >>> 1 file changed, 3 insertions(+) > >>> > >>> diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > >>> index fa3aa9c0fb2e..48e7121880a9 100644 > >>> --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > >>> +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c > >>> @@ -604,6 +604,9 @@ static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer( > >>> case OCSD_GEN_TRC_ELEM_CUSTOM: > >>> case OCSD_GEN_TRC_ELEM_SYNC_MARKER: > >>> case OCSD_GEN_TRC_ELEM_MEMTRANS: > >>> +#if (OCSD_VER_NUM >= 0x010400) > >>> + case OCSD_GEN_TRC_ELEM_INSTRUMENTATION: > >>> +#endif > >>> default: > >>> break; > >>> } > >> > >> Checked the build with both old and new versions of OpenCSD and it's ok: > >> > >> Reviewed-by: James Clark <james.clark@arm.com> > > > > Acked-by: Ian Rogers <irogers@google.com> > > > > Thanks, > > Ian > > Hi Arnaldo, > > Is it ok to merge this change? If anyone is building with the latest > OpenCSD they will get a build error on the unhandled switch case, and we > just got it in our CI too. > > I suppose we could disable the warning around this switch, but it's > pretty rare to add new packets so might be best to leave it. Thanks, applied. - Arnaldo
diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c index fa3aa9c0fb2e..48e7121880a9 100644 --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c @@ -604,6 +604,9 @@ static ocsd_datapath_resp_t cs_etm_decoder__gen_trace_elem_printer( case OCSD_GEN_TRC_ELEM_CUSTOM: case OCSD_GEN_TRC_ELEM_SYNC_MARKER: case OCSD_GEN_TRC_ELEM_MEMTRANS: +#if (OCSD_VER_NUM >= 0x010400) + case OCSD_GEN_TRC_ELEM_INSTRUMENTATION: +#endif default: break; }
OpenCSD version 1.4 is released with support for FEAT_ITE. This adds a new packet type, with associated output element ID in the packet type enum - OCSD_GEN_TRC_ELEM_INSTRUMENTATION. As we just ignore this packet in perf, add to the switch statement to avoid the "enum not handled in switch error", but conditionally so as not to break the perf build for older OpenCSD installations. Signed-off-by: Mike Leach <mike.leach@linaro.org> --- tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 3 +++ 1 file changed, 3 insertions(+)