Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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