* [Buildroot] [PATCH next 1/2] package/opencsd: new package
@ 2023-02-22 20:41 Julien Olivain
2023-02-22 20:41 ` [Buildroot] [PATCH next 2/2] package/linux-tools: perf: add OpenCSD support Julien Olivain
2023-07-30 21:25 ` [Buildroot] [PATCH next 1/2] package/opencsd: new package Thomas Petazzoni via buildroot
0 siblings, 2 replies; 4+ messages in thread
From: Julien Olivain @ 2023-02-22 20:41 UTC (permalink / raw)
To: buildroot; +Cc: Julien Olivain, Yann E . MORIN, Thomas Petazzoni
This library provides an API suitable for the decode of
ARM(r) CoreSight(tm) trace streams.
OpenCSD is for example an optional dependency in the Linux
"perf" tool, starting from kernel version 5.1.
https://github.com/Linaro/OpenCSD
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
Patch tested on branch next at commit 9793454 with commands:
make check-package
...
0 warnings generated
./utils/test-pkg -a -p opencsd
arm-aarch64 [ 1/45]: OK
bootlin-aarch64-glibc [ 2/45]: OK
bootlin-arcle-hs38-uclibc [ 3/45]: SKIPPED
bootlin-armv5-uclibc [ 4/45]: OK
bootlin-armv7-glibc [ 5/45]: OK
bootlin-armv7m-uclibc [ 6/45]: SKIPPED
bootlin-armv7-musl [ 7/45]: OK
bootlin-m68k-5208-uclibc [ 8/45]: SKIPPED
bootlin-m68k-68040-uclibc [ 9/45]: SKIPPED
bootlin-microblazeel-uclibc [10/45]: SKIPPED
bootlin-mipsel32r6-glibc [11/45]: SKIPPED
bootlin-mipsel-uclibc [12/45]: SKIPPED
bootlin-nios2-glibc [13/45]: SKIPPED
bootlin-openrisc-uclibc [14/45]: SKIPPED
bootlin-powerpc64le-power8-glibc [15/45]: SKIPPED
bootlin-powerpc-e500mc-uclibc [16/45]: SKIPPED
bootlin-riscv32-glibc [17/45]: SKIPPED
bootlin-riscv64-glibc [18/45]: SKIPPED
bootlin-riscv64-musl [19/45]: SKIPPED
bootlin-s390x-z13-glibc [20/45]: SKIPPED
bootlin-sh4-uclibc [21/45]: SKIPPED
bootlin-sparc64-glibc [22/45]: SKIPPED
bootlin-sparc-uclibc [23/45]: SKIPPED
bootlin-x86-64-glibc [24/45]: SKIPPED
bootlin-x86-64-musl [25/45]: SKIPPED
bootlin-x86-64-uclibc [26/45]: SKIPPED
bootlin-xtensa-uclibc [27/45]: SKIPPED
br-arm-basic [28/45]: SKIPPED
br-arm-full-nothread [29/45]: OK
br-arm-full-static [30/45]: SKIPPED
br-i386-pentium4-full [31/45]: SKIPPED
br-i386-pentium-mmx-musl [32/45]: SKIPPED
br-mips64-n64-full [33/45]: SKIPPED
br-mips64r6-el-hf-glibc [34/45]: SKIPPED
br-powerpc-603e-basic-cpp [35/45]: SKIPPED
br-powerpc64-power7-glibc [36/45]: SKIPPED
linaro-aarch64-be [37/45]: OK
linaro-aarch64 [38/45]: OK
linaro-arm [39/45]: OK
sourcery-arm-armv4t [40/45]: OK
sourcery-arm [41/45]: OK
sourcery-arm-thumb2 [42/45]: OK
sourcery-mips64 [43/45]: SKIPPED
sourcery-mips [44/45]: SKIPPED
sourcery-nios2 [45/45]: SKIPPED
45 builds, 33 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/opencsd/Config.in | 27 +++++++++++++++++++++++++++
package/opencsd/opencsd.hash | 3 +++
package/opencsd/opencsd.mk | 31 +++++++++++++++++++++++++++++++
5 files changed, 63 insertions(+)
create mode 100644 package/opencsd/Config.in
create mode 100644 package/opencsd/opencsd.hash
create mode 100644 package/opencsd/opencsd.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 599cfe6886..32524c152a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1696,6 +1696,7 @@ F: package/highway/
F: package/libjxl/
F: package/octave/
F: package/ola/
+F: package/opencsd/
F: package/perftest/
F: package/ptm2human/
F: package/python-distro/
diff --git a/package/Config.in b/package/Config.in
index 6c5238a9b0..fcbf8e8b6c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1708,6 +1708,7 @@ menu "Hardware handling"
source "package/mtdev/Config.in"
source "package/ne10/Config.in"
source "package/neardal/Config.in"
+ source "package/opencsd/Config.in"
source "package/opensc/Config.in"
source "package/owfs/Config.in"
source "package/pcsc-lite/Config.in"
diff --git a/package/opencsd/Config.in b/package/opencsd/Config.in
new file mode 100644
index 0000000000..0e63d99251
--- /dev/null
+++ b/package/opencsd/Config.in
@@ -0,0 +1,27 @@
+config BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS
+ bool
+ default y if BR2_arm
+ default y if BR2_armeb
+ default y if BR2_aarch64
+ default y if BR2_aarch64_be
+
+config BR2_PACKAGE_OPENCSD
+ bool "OpenCSD"
+ depends on BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS
+ depends on !BR2_STATIC_LIBS
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+ help
+ This library provides an API suitable for the decode of
+ ARM(r) CoreSight(tm) trace streams.
+
+ OpenCSD is for example an optional dependency in the Linux
+ "perf" tool, starting from kernel version 5.1.
+
+ https://github.com/Linaro/OpenCSD
+
+comment "OpenCSD needs a toolchain w/ C++11, gcc >= 4.8, dynamic libraries"
+ depends on BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS
+ depends on BR2_STATIC_LIBS \
+ || !BR2_INSTALL_LIBSTDCPP \
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
diff --git a/package/opencsd/opencsd.hash b/package/opencsd/opencsd.hash
new file mode 100644
index 0000000000..84a762fb36
--- /dev/null
+++ b/package/opencsd/opencsd.hash
@@ -0,0 +1,3 @@
+# Locally Computed:
+sha256 e1bb6d8d09e87974cb5ca6db2a13b0e1ba9e51117ca2ed71879df07ff7af4de2 opencsd-1.4.0.tar.gz
+sha256 980eef4b0744e63834e3ec0d50c2a4ff6d81d7ec62dd8ba8c66acae0ec5a2e88 LICENSE
diff --git a/package/opencsd/opencsd.mk b/package/opencsd/opencsd.mk
new file mode 100644
index 0000000000..680364d01d
--- /dev/null
+++ b/package/opencsd/opencsd.mk
@@ -0,0 +1,31 @@
+################################################################################
+#
+# opencsd
+#
+################################################################################
+
+OPENCSD_VERSION = 1.4.0
+OPENCSD_SITE = $(call github,Linaro,OpenCSD,v$(OPENCSD_VERSION))
+OPENCSD_LICENSE = BSD-3-Clause
+OPENCSD_LICENSE_FILES = LICENSE
+OPENCSD_INSTALL_STAGING = YES
+
+OPENCSD_MAKE_OPTS = \
+ CROSS_COMPILE="$(TARGET_CROSS)"
+
+define OPENCSD_BUILD_CMDS
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \
+ $(OPENCSD_MAKE_OPTS) all
+endef
+
+define OPENCSD_INSTALL_TARGET_CMDS
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \
+ $(OPENCSD_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
+endef
+
+define OPENCSD_INSTALL_STAGING_CMDS
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \
+ $(OPENCSD_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
+endef
+
+$(eval $(generic-package))
--
2.39.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH next 2/2] package/linux-tools: perf: add OpenCSD support
2023-02-22 20:41 [Buildroot] [PATCH next 1/2] package/opencsd: new package Julien Olivain
@ 2023-02-22 20:41 ` Julien Olivain
2023-07-30 21:26 ` Thomas Petazzoni via buildroot
2023-07-30 21:25 ` [Buildroot] [PATCH next 1/2] package/opencsd: new package Thomas Petazzoni via buildroot
1 sibling, 1 reply; 4+ messages in thread
From: Julien Olivain @ 2023-02-22 20:41 UTC (permalink / raw)
To: buildroot; +Cc: Julien Olivain, Yann E . MORIN, Thomas Petazzoni
This commit adds the Arm CoreSight trace data Decoder support to perf.
See: https://docs.kernel.org/trace/coresight/coresight-perf.html
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
package/linux-tools/linux-tool-perf.mk.in | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/package/linux-tools/linux-tool-perf.mk.in b/package/linux-tools/linux-tool-perf.mk.in
index dda63cccec..3a16705087 100644
--- a/package/linux-tools/linux-tool-perf.mk.in
+++ b/package/linux-tools/linux-tool-perf.mk.in
@@ -119,6 +119,13 @@ else
PERF_MAKE_FLAGS += NO_LZMA=1
endif
+ifeq ($(BR2_PACKAGE_OPENCSD),y)
+PERF_DEPENDENCIES += opencsd
+PERF_MAKE_FLAGS += CORESIGHT=1
+# There is no "else CORESIGHT=0" case, because "perf" Makefile uses
+# bare "ifdef CORESIGHT" constructs.
+endif
+
# We really do not want to build the perf documentation, because it
# has stringent requirement on the documentation generation tools,
# like xmlto and asciidoc), which may be lagging behind on some
--
2.39.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH next 1/2] package/opencsd: new package
2023-02-22 20:41 [Buildroot] [PATCH next 1/2] package/opencsd: new package Julien Olivain
2023-02-22 20:41 ` [Buildroot] [PATCH next 2/2] package/linux-tools: perf: add OpenCSD support Julien Olivain
@ 2023-07-30 21:25 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-07-30 21:25 UTC (permalink / raw)
To: Julien Olivain; +Cc: Yann E . MORIN, buildroot
Hello Julien,
On Wed, 22 Feb 2023 21:41:33 +0100
Julien Olivain <ju.o@free.fr> wrote:
> This library provides an API suitable for the decode of
> ARM(r) CoreSight(tm) trace streams.
>
> OpenCSD is for example an optional dependency in the Linux
> "perf" tool, starting from kernel version 5.1.
>
> https://github.com/Linaro/OpenCSD
>
> Signed-off-by: Julien Olivain <ju.o@free.fr>
Applied with very, very small tweaks.
> +config BR2_PACKAGE_OPENCSD
> + bool "OpenCSD"
bool "opencsd"
(for consistency, we want all package prompts to be lower-case)
> + depends on BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS
> + depends on !BR2_STATIC_LIBS
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
> + help
> + This library provides an API suitable for the decode of
> + ARM(r) CoreSight(tm) trace streams.
> +
> + OpenCSD is for example an optional dependency in the Linux
> + "perf" tool, starting from kernel version 5.1.
> +
> + https://github.com/Linaro/OpenCSD
> +
> +comment "OpenCSD needs a toolchain w/ C++11, gcc >= 4.8, dynamic libraries"
^^^^^^ opencsd
^^^^^^^^^ library
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH next 2/2] package/linux-tools: perf: add OpenCSD support
2023-02-22 20:41 ` [Buildroot] [PATCH next 2/2] package/linux-tools: perf: add OpenCSD support Julien Olivain
@ 2023-07-30 21:26 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-07-30 21:26 UTC (permalink / raw)
To: Julien Olivain; +Cc: Yann E . MORIN, buildroot
On Wed, 22 Feb 2023 21:41:34 +0100
Julien Olivain <ju.o@free.fr> wrote:
> This commit adds the Arm CoreSight trace data Decoder support to perf.
> See: https://docs.kernel.org/trace/coresight/coresight-perf.html
>
> Signed-off-by: Julien Olivain <ju.o@free.fr>
> ---
> package/linux-tools/linux-tool-perf.mk.in | 7 +++++++
> 1 file changed, 7 insertions(+)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-07-30 21:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-22 20:41 [Buildroot] [PATCH next 1/2] package/opencsd: new package Julien Olivain
2023-02-22 20:41 ` [Buildroot] [PATCH next 2/2] package/linux-tools: perf: add OpenCSD support Julien Olivain
2023-07-30 21:26 ` Thomas Petazzoni via buildroot
2023-07-30 21:25 ` [Buildroot] [PATCH next 1/2] package/opencsd: new package Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox