* Syncing include/linux/coresight-pmu.h with its copy in tools/perf
@ 2026-03-05 20:26 Arnaldo Carvalho de Melo
2026-03-06 11:27 ` James Clark
0 siblings, 1 reply; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-03-05 20:26 UTC (permalink / raw)
To: James Clark
Cc: Adrian Hunter, Ian Rogers, Jiri Olsa, Namhyung Kim,
Linux Kernel Mailing List, linux-perf-users
Hi,
Right now we have this perf build warning:
diff -u tools/include/linux/coresight-pmu.h include/linux/coresight-pmu.h
But when I try to update it it explodes, can someone in the ARM front
take a look at it?
Thanks,
- Arnaldo
⬢ [acme@toolbx perf-tools]$ m
make: Entering directory '/home/acme/git/perf-tools/tools/perf'
BUILD: Doing 'make -j32' parallel build
Warning: Kernel ABI header differences:
diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h
diff -u tools/include/linux/coresight-pmu.h include/linux/coresight-pmu.h
diff -u tools/arch/x86/include/asm/amd/ibs.h arch/x86/include/asm/amd/ibs.h
diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h
Auto-detecting system features:
... libdw: [ on ]
... glibc: [ on ]
... libelf: [ on ]
... libnuma: [ on ]
... numa_num_possible_cpus: [ on ]
... libpython: [ on ]
... libcapstone: [ on ]
... llvm-perf: [ on ]
... zlib: [ on ]
... lzma: [ on ]
... bpf: [ on ]
... libaio: [ on ]
... libzstd: [ on ]
... libopenssl: [ on ]
... rust: [ on ]
INSTALL libsubcmd_headers
INSTALL libapi_headers
INSTALL libperf_headers
INSTALL libsymbol_headers
INSTALL libbpf_headers
INSTALL binaries
INSTALL tests
INSTALL libperf-jvmti.so
INSTALL libexec
INSTALL perf-archive
INSTALL perf-iostat
INSTALL python-scripts
INSTALL dlfilters
INSTALL perf_completion-script
INSTALL perf-tip
make: Leaving directory '/home/acme/git/perf-tools/tools/perf'
⬢ [acme@toolbx perf-tools]$ diff -u tools/include/linux/coresight-pmu.h include/linux/coresight-pmu.h
--- tools/include/linux/coresight-pmu.h 2025-06-16 13:19:13.119223002 -0300
+++ include/linux/coresight-pmu.h 2026-02-21 18:08:24.737530149 -0300
@@ -22,30 +22,6 @@
#define CORESIGHT_LEGACY_CPU_TRACE_ID(cpu) (0x10 + (cpu * 2))
/*
- * Below are the definition of bit offsets for perf option, and works as
- * arbitrary values for all ETM versions.
- *
- * Most of them are orignally from ETMv3.5/PTM's ETMCR config, therefore,
- * ETMv3.5/PTM doesn't define ETMCR config bits with prefix "ETM3_" and
- * directly use below macros as config bits.
- */
-#define ETM_OPT_BRANCH_BROADCAST 8
-#define ETM_OPT_CYCACC 12
-#define ETM_OPT_CTXTID 14
-#define ETM_OPT_CTXTID2 15
-#define ETM_OPT_TS 28
-#define ETM_OPT_RETSTK 29
-
-/* ETMv4 CONFIGR programming bits for the ETM OPTs */
-#define ETM4_CFG_BIT_BB 3
-#define ETM4_CFG_BIT_CYCACC 4
-#define ETM4_CFG_BIT_CTXTID 6
-#define ETM4_CFG_BIT_VMID 7
-#define ETM4_CFG_BIT_TS 11
-#define ETM4_CFG_BIT_RETSTK 12
-#define ETM4_CFG_BIT_VMID_OPT 15
-
-/*
* Interpretation of the PERF_RECORD_AUX_OUTPUT_HW_ID payload.
* Used to associate a CPU with the CoreSight Trace ID.
* [07:00] - Trace ID - uses 8 bits to make value easy to read in file.
⬢ [acme@toolbx perf-tools]$ cp include/linux/coresight-pmu.h tools/include/linux/coresight-pmu.h
⬢ [acme@toolbx perf-tools]$ m
make: Entering directory '/home/acme/git/perf-tools/tools/perf'
BUILD: Doing 'make -j32' parallel build
Warning: Kernel ABI header differences:
diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h
diff -u tools/arch/x86/include/asm/amd/ibs.h arch/x86/include/asm/amd/ibs.h
diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h
Auto-detecting system features:
... libdw: [ on ]
... glibc: [ on ]
... libelf: [ on ]
... libnuma: [ on ]
... numa_num_possible_cpus: [ on ]
... libpython: [ on ]
... libcapstone: [ on ]
... llvm-perf: [ on ]
... zlib: [ on ]
... lzma: [ on ]
... bpf: [ on ]
... libaio: [ on ]
... libzstd: [ on ]
... libopenssl: [ on ]
... rust: [ on ]
INSTALL libsubcmd_headers
INSTALL libperf_headers
INSTALL libapi_headers
INSTALL libsymbol_headers
INSTALL libbpf_headers
CC /tmp/build/perf-tools/util/cs-etm-decoder/cs-etm-decoder.o
CC /tmp/build/perf-tools/util/cs-etm.o
LD /tmp/build/perf-tools/util/cs-etm-decoder/perf-util-in.o
In file included from /home/acme/git/perf-tools/tools/include/linux/bits.h:5,
from /home/acme/git/perf-tools/tools/include/linux/bitops.h:14,
from util/cs-etm.c:10:
util/cs-etm.c: In function ‘cs_etm__init_pid_fmt’:
util/cs-etm.c:213:31: error: ‘ETM_OPT_CTXTID’ undeclared (first use in this function)
213 | if (val & BIT(ETM_OPT_CTXTID))
| ^~~~~~~~~~~~~~
/home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
util/cs-etm.c:213:31: note: each undeclared identifier is reported only once for each function it appears in
213 | if (val & BIT(ETM_OPT_CTXTID))
| ^~~~~~~~~~~~~~
/home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
util/cs-etm.c:218:32: error: ‘ETM4_CFG_BIT_VMID’ undeclared (first use in this function)
218 | if (val & (BIT(ETM4_CFG_BIT_VMID) | BIT(ETM4_CFG_BIT_VMID_OPT)))
| ^~~~~~~~~~~~~~~~~
/home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
util/cs-etm.c:218:57: error: ‘ETM4_CFG_BIT_VMID_OPT’ undeclared (first use in this function)
218 | if (val & (BIT(ETM4_CFG_BIT_VMID) | BIT(ETM4_CFG_BIT_VMID_OPT)))
| ^~~~~~~~~~~~~~~~~~~~~
/home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
util/cs-etm.c:221:36: error: ‘ETM4_CFG_BIT_CTXTID’ undeclared (first use in this function)
221 | else if (val & BIT(ETM4_CFG_BIT_CTXTID))
| ^~~~~~~~~~~~~~~~~~~
/home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
util/cs-etm.c: In function ‘cs_etm__setup_timeless_decoding’:
util/cs-etm.c:2934:65: error: ‘ETM_OPT_TS’ undeclared (first use in this function)
2934 | !(evsel->core.attr.config & BIT(ETM_OPT_TS));
| ^~~~~~~~~~
/home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
make[4]: *** [/home/acme/git/perf-tools/tools/build/Makefile.build:95: /tmp/build/perf-tools/util/cs-etm.o] Error 1
make[3]: *** [/home/acme/git/perf-tools/tools/build/Makefile.build:158: util] Error 2
make[2]: *** [Makefile.perf:797: /tmp/build/perf-tools/perf-util-in.o] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile.perf:289: sub-make] Error 2
make: *** [Makefile:119: install-bin] Error 2
make: Leaving directory '/home/acme/git/perf-tools/tools/perf'
⬢ [acme@toolbx perf-tools]$
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Syncing include/linux/coresight-pmu.h with its copy in tools/perf
2026-03-05 20:26 Syncing include/linux/coresight-pmu.h with its copy in tools/perf Arnaldo Carvalho de Melo
@ 2026-03-06 11:27 ` James Clark
2026-03-09 19:21 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 3+ messages in thread
From: James Clark @ 2026-03-06 11:27 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, Leo Yan
Cc: Adrian Hunter, Ian Rogers, Jiri Olsa, Namhyung Kim,
Linux Kernel Mailing List, linux-perf-users
On 05/03/2026 8:26 pm, Arnaldo Carvalho de Melo wrote:
> Hi,
>
> Right now we have this perf build warning:
>
> diff -u tools/include/linux/coresight-pmu.h include/linux/coresight-pmu.h
>
> But when I try to update it it explodes, can someone in the ARM front
> take a look at it?
>
> Thanks,
>
> - Arnaldo
>
Sent "[PATCH 0/2] perf cs-etm: Finish removal of ETM_OPT_*" to fix that
and update the header.
Thanks
James
> ⬢ [acme@toolbx perf-tools]$ m
> make: Entering directory '/home/acme/git/perf-tools/tools/perf'
> BUILD: Doing 'make -j32' parallel build
> Warning: Kernel ABI header differences:
> diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h
> diff -u tools/include/linux/coresight-pmu.h include/linux/coresight-pmu.h
> diff -u tools/arch/x86/include/asm/amd/ibs.h arch/x86/include/asm/amd/ibs.h
> diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h
>
> Auto-detecting system features:
> ... libdw: [ on ]
> ... glibc: [ on ]
> ... libelf: [ on ]
> ... libnuma: [ on ]
> ... numa_num_possible_cpus: [ on ]
> ... libpython: [ on ]
> ... libcapstone: [ on ]
> ... llvm-perf: [ on ]
> ... zlib: [ on ]
> ... lzma: [ on ]
> ... bpf: [ on ]
> ... libaio: [ on ]
> ... libzstd: [ on ]
> ... libopenssl: [ on ]
> ... rust: [ on ]
>
> INSTALL libsubcmd_headers
> INSTALL libapi_headers
> INSTALL libperf_headers
> INSTALL libsymbol_headers
> INSTALL libbpf_headers
> INSTALL binaries
> INSTALL tests
> INSTALL libperf-jvmti.so
> INSTALL libexec
> INSTALL perf-archive
> INSTALL perf-iostat
> INSTALL python-scripts
> INSTALL dlfilters
> INSTALL perf_completion-script
> INSTALL perf-tip
> make: Leaving directory '/home/acme/git/perf-tools/tools/perf'
> ⬢ [acme@toolbx perf-tools]$ diff -u tools/include/linux/coresight-pmu.h include/linux/coresight-pmu.h
> --- tools/include/linux/coresight-pmu.h 2025-06-16 13:19:13.119223002 -0300
> +++ include/linux/coresight-pmu.h 2026-02-21 18:08:24.737530149 -0300
> @@ -22,30 +22,6 @@
> #define CORESIGHT_LEGACY_CPU_TRACE_ID(cpu) (0x10 + (cpu * 2))
>
> /*
> - * Below are the definition of bit offsets for perf option, and works as
> - * arbitrary values for all ETM versions.
> - *
> - * Most of them are orignally from ETMv3.5/PTM's ETMCR config, therefore,
> - * ETMv3.5/PTM doesn't define ETMCR config bits with prefix "ETM3_" and
> - * directly use below macros as config bits.
> - */
> -#define ETM_OPT_BRANCH_BROADCAST 8
> -#define ETM_OPT_CYCACC 12
> -#define ETM_OPT_CTXTID 14
> -#define ETM_OPT_CTXTID2 15
> -#define ETM_OPT_TS 28
> -#define ETM_OPT_RETSTK 29
> -
> -/* ETMv4 CONFIGR programming bits for the ETM OPTs */
> -#define ETM4_CFG_BIT_BB 3
> -#define ETM4_CFG_BIT_CYCACC 4
> -#define ETM4_CFG_BIT_CTXTID 6
> -#define ETM4_CFG_BIT_VMID 7
> -#define ETM4_CFG_BIT_TS 11
> -#define ETM4_CFG_BIT_RETSTK 12
> -#define ETM4_CFG_BIT_VMID_OPT 15
> -
> -/*
> * Interpretation of the PERF_RECORD_AUX_OUTPUT_HW_ID payload.
> * Used to associate a CPU with the CoreSight Trace ID.
> * [07:00] - Trace ID - uses 8 bits to make value easy to read in file.
> ⬢ [acme@toolbx perf-tools]$ cp include/linux/coresight-pmu.h tools/include/linux/coresight-pmu.h
> ⬢ [acme@toolbx perf-tools]$ m
> make: Entering directory '/home/acme/git/perf-tools/tools/perf'
> BUILD: Doing 'make -j32' parallel build
> Warning: Kernel ABI header differences:
> diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h
> diff -u tools/arch/x86/include/asm/amd/ibs.h arch/x86/include/asm/amd/ibs.h
> diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h
>
> Auto-detecting system features:
> ... libdw: [ on ]
> ... glibc: [ on ]
> ... libelf: [ on ]
> ... libnuma: [ on ]
> ... numa_num_possible_cpus: [ on ]
> ... libpython: [ on ]
> ... libcapstone: [ on ]
> ... llvm-perf: [ on ]
> ... zlib: [ on ]
> ... lzma: [ on ]
> ... bpf: [ on ]
> ... libaio: [ on ]
> ... libzstd: [ on ]
> ... libopenssl: [ on ]
> ... rust: [ on ]
>
> INSTALL libsubcmd_headers
> INSTALL libperf_headers
> INSTALL libapi_headers
> INSTALL libsymbol_headers
> INSTALL libbpf_headers
> CC /tmp/build/perf-tools/util/cs-etm-decoder/cs-etm-decoder.o
> CC /tmp/build/perf-tools/util/cs-etm.o
> LD /tmp/build/perf-tools/util/cs-etm-decoder/perf-util-in.o
> In file included from /home/acme/git/perf-tools/tools/include/linux/bits.h:5,
> from /home/acme/git/perf-tools/tools/include/linux/bitops.h:14,
> from util/cs-etm.c:10:
> util/cs-etm.c: In function ‘cs_etm__init_pid_fmt’:
> util/cs-etm.c:213:31: error: ‘ETM_OPT_CTXTID’ undeclared (first use in this function)
> 213 | if (val & BIT(ETM_OPT_CTXTID))
> | ^~~~~~~~~~~~~~
> /home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
> 7 | #define BIT(nr) (UL(1) << (nr))
> | ^~
> util/cs-etm.c:213:31: note: each undeclared identifier is reported only once for each function it appears in
> 213 | if (val & BIT(ETM_OPT_CTXTID))
> | ^~~~~~~~~~~~~~
> /home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
> 7 | #define BIT(nr) (UL(1) << (nr))
> | ^~
> util/cs-etm.c:218:32: error: ‘ETM4_CFG_BIT_VMID’ undeclared (first use in this function)
> 218 | if (val & (BIT(ETM4_CFG_BIT_VMID) | BIT(ETM4_CFG_BIT_VMID_OPT)))
> | ^~~~~~~~~~~~~~~~~
> /home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
> 7 | #define BIT(nr) (UL(1) << (nr))
> | ^~
> util/cs-etm.c:218:57: error: ‘ETM4_CFG_BIT_VMID_OPT’ undeclared (first use in this function)
> 218 | if (val & (BIT(ETM4_CFG_BIT_VMID) | BIT(ETM4_CFG_BIT_VMID_OPT)))
> | ^~~~~~~~~~~~~~~~~~~~~
> /home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
> 7 | #define BIT(nr) (UL(1) << (nr))
> | ^~
> util/cs-etm.c:221:36: error: ‘ETM4_CFG_BIT_CTXTID’ undeclared (first use in this function)
> 221 | else if (val & BIT(ETM4_CFG_BIT_CTXTID))
> | ^~~~~~~~~~~~~~~~~~~
> /home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
> 7 | #define BIT(nr) (UL(1) << (nr))
> | ^~
> util/cs-etm.c: In function ‘cs_etm__setup_timeless_decoding’:
> util/cs-etm.c:2934:65: error: ‘ETM_OPT_TS’ undeclared (first use in this function)
> 2934 | !(evsel->core.attr.config & BIT(ETM_OPT_TS));
> | ^~~~~~~~~~
> /home/acme/git/perf-tools/tools/include/vdso/bits.h:7:44: note: in definition of macro ‘BIT’
> 7 | #define BIT(nr) (UL(1) << (nr))
> | ^~
> make[4]: *** [/home/acme/git/perf-tools/tools/build/Makefile.build:95: /tmp/build/perf-tools/util/cs-etm.o] Error 1
> make[3]: *** [/home/acme/git/perf-tools/tools/build/Makefile.build:158: util] Error 2
> make[2]: *** [Makefile.perf:797: /tmp/build/perf-tools/perf-util-in.o] Error 2
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [Makefile.perf:289: sub-make] Error 2
> make: *** [Makefile:119: install-bin] Error 2
> make: Leaving directory '/home/acme/git/perf-tools/tools/perf'
> ⬢ [acme@toolbx perf-tools]$
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Syncing include/linux/coresight-pmu.h with its copy in tools/perf
2026-03-06 11:27 ` James Clark
@ 2026-03-09 19:21 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-03-09 19:21 UTC (permalink / raw)
To: James Clark
Cc: Leo Yan, Adrian Hunter, Ian Rogers, Jiri Olsa, Namhyung Kim,
Linux Kernel Mailing List, linux-perf-users
On Fri, Mar 06, 2026 at 11:27:44AM +0000, James Clark wrote:
> On 05/03/2026 8:26 pm, Arnaldo Carvalho de Melo wrote:
> > Right now we have this perf build warning:
> > diff -u tools/include/linux/coresight-pmu.h include/linux/coresight-pmu.h
> > But when I try to update it it explodes, can someone in the ARM front
> > take a look at it?
> Sent "[PATCH 0/2] perf cs-etm: Finish removal of ETM_OPT_*" to fix that and
> update the header.
Thanks, I'm applying it test building so that I can send the first
fixes/header sync pull req to Linus after soaking a bit in linux-next.
- Arnaldo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-09 19:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 20:26 Syncing include/linux/coresight-pmu.h with its copy in tools/perf Arnaldo Carvalho de Melo
2026-03-06 11:27 ` James Clark
2026-03-09 19:21 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.