All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL
@ 2022-02-11 10:56 Ross Burton
  2022-02-11 10:56 ` [PATCH 2/5] CI: improve coverage of corstone1000 Ross Burton
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Ross Burton @ 2022-02-11 10:56 UTC (permalink / raw)
  To: meta-arm

Instead of adding perf to the target: list, add it to
CORE_IMAGE_EXTRA_INSTALL. This means that machine configurations which
need to change the target don't need to also build perf explicitly.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 ci/base.yml                 | 4 ++--
 ci/gem5-arm64.yml           | 1 -
 ci/qemu-generic-arm64.yml   | 1 -
 ci/qemuarm64-secureboot.yml | 1 -
 ci/tc0.yml                  | 1 -
 ci/tc1.yml                  | 1 -
 6 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/ci/base.yml b/ci/base.yml
index 795bd11f..6c2f8df1 100644
--- a/ci/base.yml
+++ b/ci/base.yml
@@ -40,9 +40,9 @@ local_conf_header:
     DISTRO_FEATURES:remove = "ptest"
   kvm: |
     QEMU_USE_KVM = ""
-
+  perf: |
+    CORE_IMAGE_EXTRA_INSTALL += "perf"
 machine: unset
 
 target:
   - core-image-base
-  - perf
diff --git a/ci/gem5-arm64.yml b/ci/gem5-arm64.yml
index 8b8e66ba..90913f37 100644
--- a/ci/gem5-arm64.yml
+++ b/ci/gem5-arm64.yml
@@ -13,5 +13,4 @@ machine: gem5-arm64
 
 target:
   - core-image-minimal
-  - perf
   - gem5-aarch64-native
diff --git a/ci/qemu-generic-arm64.yml b/ci/qemu-generic-arm64.yml
index 2b7b839c..87cbd2f8 100644
--- a/ci/qemu-generic-arm64.yml
+++ b/ci/qemu-generic-arm64.yml
@@ -11,5 +11,4 @@ machine: qemu-generic-arm64
 
 target:
   - core-image-base
-  - perf
   - sbsa-acs
diff --git a/ci/qemuarm64-secureboot.yml b/ci/qemuarm64-secureboot.yml
index d06514d0..acc65303 100644
--- a/ci/qemuarm64-secureboot.yml
+++ b/ci/qemuarm64-secureboot.yml
@@ -12,7 +12,6 @@ local_conf_header:
 
 target:
   - core-image-base
-  - perf
   - optee-examples
   - optee-test
   - optee-spdevkit
diff --git a/ci/tc0.yml b/ci/tc0.yml
index dd94d874..b2f75d55 100644
--- a/ci/tc0.yml
+++ b/ci/tc0.yml
@@ -7,4 +7,3 @@ machine: tc0
 
 target:
   - tc-artifacts-image
-  - perf
diff --git a/ci/tc1.yml b/ci/tc1.yml
index 987e5248..fd9acbd2 100644
--- a/ci/tc1.yml
+++ b/ci/tc1.yml
@@ -7,4 +7,3 @@ machine: tc1
 
 target:
   - tc-artifacts-image
-  - perf
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/5] CI: improve coverage of corstone1000
  2022-02-11 10:56 [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Ross Burton
@ 2022-02-11 10:56 ` Ross Burton
  2022-02-11 10:56 ` [PATCH 3/5] arm/trusted-firmware-m: stop FetchContent from fetching Ross Burton
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Ross Burton @ 2022-02-11 10:56 UTC (permalink / raw)
  To: meta-arm

Consolidate the CS1K kas files into a common file, and respect the
platform policy by setting the DISTRO to poky-tiny. Also add the
CS1K-specific recipes psa-arch-tests and ffa-debugfs-mod to the build.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 ci/corstone1000-common.yml | 18 ++++++++++++++++++
 ci/corstone1000-fvp.yml    |  8 +-------
 ci/corstone1000-mps3.yml   |  8 +-------
 3 files changed, 20 insertions(+), 14 deletions(-)
 create mode 100644 ci/corstone1000-common.yml

diff --git a/ci/corstone1000-common.yml b/ci/corstone1000-common.yml
new file mode 100644
index 00000000..f92e0f22
--- /dev/null
+++ b/ci/corstone1000-common.yml
@@ -0,0 +1,18 @@
+header:
+  version: 11
+  includes:
+    - ci/base.yml
+    - ci/meta-openembedded.yml
+
+local_conf_header:
+  image: |
+    INITRAMFS_IMAGE_BUNDLE = "0"
+    INITRAMFS_IMAGE:remove = "corstone1000-initramfs-image"
+    CORE_IMAGE_EXTRA_INSTALL += "psa-arch-tests"
+    CORE_IMAGE_EXTRA_INSTALL += "optee-client"
+    CORE_IMAGE_EXTRA_INSTALL += "ffa-debugfs-mod"
+
+distro: poky-tiny
+
+target:
+  - core-image-minimal
diff --git a/ci/corstone1000-fvp.yml b/ci/corstone1000-fvp.yml
index 39a92b3c..e4659a3f 100644
--- a/ci/corstone1000-fvp.yml
+++ b/ci/corstone1000-fvp.yml
@@ -1,12 +1,6 @@
 header:
   version: 11
   includes:
-    - ci/base.yml
-    - ci/meta-openembedded.yml
-
-local_conf_header:
-    custom-local-conf: |
-        INITRAMFS_IMAGE_BUNDLE = "0"
-        INITRAMFS_IMAGE:remove = "corstone1000-initramfs-image"
+    - ci/corstone1000-common.yml
 
 machine: corstone1000-fvp
diff --git a/ci/corstone1000-mps3.yml b/ci/corstone1000-mps3.yml
index 21635938..2df7d976 100644
--- a/ci/corstone1000-mps3.yml
+++ b/ci/corstone1000-mps3.yml
@@ -1,12 +1,6 @@
 header:
   version: 11
   includes:
-    - ci/base.yml
-    - ci/meta-openembedded.yml
-
-local_conf_header:
-    custom-local-conf: |
-        INITRAMFS_IMAGE_BUNDLE = "0"
-        INITRAMFS_IMAGE:remove = "corstone1000-initramfs-image"
+    - ci/corstone1000-common.yml
 
 machine: corstone1000-mps3
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/5] arm/trusted-firmware-m: stop FetchContent from fetching
  2022-02-11 10:56 [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Ross Burton
  2022-02-11 10:56 ` [PATCH 2/5] CI: improve coverage of corstone1000 Ross Burton
@ 2022-02-11 10:56 ` Ross Burton
  2022-02-11 10:56 ` [PATCH 4/5] arm-bsp/trusted-firmware-m: add OpenAMP to the CS1K build Ross Burton
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Ross Burton @ 2022-02-11 10:56 UTC (permalink / raw)
  To: meta-arm

TF-M uses FetchContent to download further sources at configure time, but
this is bad form as the sources and licenses are not tracked or archived.

This should now be blocked by the network isolation but as this doesn't
work in some environments (such as Docker containers) we can tell cmake
to never fetch to be sure that all of the sources used are declared in
SRC_URI.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.5.0.bb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.5.0.bb b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.5.0.bb
index c0eee5cc..619162be 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.5.0.bb
+++ b/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.5.0.bb
@@ -78,6 +78,9 @@ PACKAGECONFIG[cc-armclang] = "-DTFM_TOOLCHAIN_FILE=${S}/toolchain_ARMCLANG.cmake
 PACKAGECONFIG[test-secure] = "-DTEST_S=ON,-DTEST_S=OFF"
 PACKAGECONFIG[test-nonsecure] = "-DTEST_NS=ON,-DTEST_NS=OFF"
 
+# Don't let FetchContent download more sources during do_configure
+EXTRA_OECMAKE += "-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
+
 # Add platform parameters
 EXTRA_OECMAKE += "-DTFM_PLATFORM=${TFM_PLATFORM}"
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/5] arm-bsp/trusted-firmware-m: add OpenAMP to the CS1K build
  2022-02-11 10:56 [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Ross Burton
  2022-02-11 10:56 ` [PATCH 2/5] CI: improve coverage of corstone1000 Ross Burton
  2022-02-11 10:56 ` [PATCH 3/5] arm/trusted-firmware-m: stop FetchContent from fetching Ross Burton
@ 2022-02-11 10:56 ` Ross Burton
  2022-02-11 10:56 ` [PATCH 5/5] arm/secure-partitions: allow network operations during do_configure Ross Burton
  2022-02-11 15:49 ` [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Jon Mason
  4 siblings, 0 replies; 6+ messages in thread
From: Ross Burton @ 2022-02-11 10:56 UTC (permalink / raw)
  To: meta-arm

TF-M for corstone1000 uses libmetal and open-amp, downloaded during
configure by FetchContent.  This is bad form, so add these sources and
license statements to the recipe so the fetch doesn't need to happen.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../trusted-firmware-m-corstone1000.inc            | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
index 0e25fbe7..398d66eb 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
@@ -16,6 +16,20 @@ SRCREV_mcuboot = "29099e1d17f93ae1d09fe945ad191b703aacd3d8"
 PV = "1.5.0+git${SRCPV}"
 SRCREV_FORMAT = "tfm"
 
+# libmetal
+LICENSE += "& BSD-3-Clause"
+LIC_FILES_CHKSUM += "file://../libmetal/LICENSE.md;md5=fe0b8a4beea8f0813b606d15a3df3d3c"
+SRC_URI += "git://github.com/OpenAMP/libmetal.git;protocol=https;branch=main;name=libmetal;destsuffix=git/libmetal"
+SRCREV_libmetal = "f252f0e007fbfb8b3a52b1d5901250ddac96baad"
+EXTRA_OECMAKE += "-DLIBMETAL_SRC_PATH=${WORKDIR}/git/libmetal -DLIBMETAL_BIN_PATH=${B}/libmetal-build"
+
+# OpenAMP
+LICENSE += "& BSD-2-Clause & BSD-3-Clause"
+LIC_FILES_CHKSUM += "file://../openamp/LICENSE.md;md5=a8d8cf662ef6bf9936a1e1413585ecbf"
+SRC_URI += "git://github.com/OpenAMP/open-amp.git;protocol=https;branch=main;name=openamp;destsuffix=git/openamp"
+SRCREV_openamp = "347397decaa43372fc4d00f965640ebde042966d"
+EXTRA_OECMAKE += "-DLIBOPENAMP_SRC_PATH=${WORKDIR}/git/openamp -DLIBOPENAMP_BIN_PATH=${B}/libopenamp-build"
+
 # The install task signs the TF-A BL2 and FIP binaries.
 # So they need to be copied to the sysroot. Hence the dependencies below:
 do_prepare_recipe_sysroot[depends]+= "trusted-firmware-a:do_populate_sysroot"
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 5/5] arm/secure-partitions: allow network operations during do_configure
  2022-02-11 10:56 [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Ross Burton
                   ` (2 preceding siblings ...)
  2022-02-11 10:56 ` [PATCH 4/5] arm-bsp/trusted-firmware-m: add OpenAMP to the CS1K build Ross Burton
@ 2022-02-11 10:56 ` Ross Burton
  2022-02-11 15:49 ` [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Jon Mason
  4 siblings, 0 replies; 6+ messages in thread
From: Ross Burton @ 2022-02-11 10:56 UTC (permalink / raw)
  To: meta-arm

trusted-services and psa-arch-tests both use FetchContent to download
more source during configure, and they can't easily be seeded with the
correct sources in advance (unlike TF-M).

Until this is fixed upstream, allow network use during do_configure.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../recipes-security/trusted-services/secure-partitions.inc  | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta-arm/recipes-security/trusted-services/secure-partitions.inc b/meta-arm/recipes-security/trusted-services/secure-partitions.inc
index 2f56502e..1df7409c 100644
--- a/meta-arm/recipes-security/trusted-services/secure-partitions.inc
+++ b/meta-arm/recipes-security/trusted-services/secure-partitions.inc
@@ -20,3 +20,8 @@ SECURITY_LDFLAGS = ""
 TARGET_LDFLAGS = "-Wl,--build-id=none -Wl,--hash-style=both"
 
 do_configure[cleandirs] = "${B}"
+
+# Currently trusted-services and psa-arch-tests use FetchContent to download
+# more sources during do_configure. Until this is resolved we need to allow
+# network operations.
+do_configure[network] = "1"
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL
  2022-02-11 10:56 [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Ross Burton
                   ` (3 preceding siblings ...)
  2022-02-11 10:56 ` [PATCH 5/5] arm/secure-partitions: allow network operations during do_configure Ross Burton
@ 2022-02-11 15:49 ` Jon Mason
  4 siblings, 0 replies; 6+ messages in thread
From: Jon Mason @ 2022-02-11 15:49 UTC (permalink / raw)
  To: meta-arm, Ross Burton

On Fri, 11 Feb 2022 10:56:04 +0000, Ross Burton wrote:
> Instead of adding perf to the target: list, add it to
> CORE_IMAGE_EXTRA_INSTALL. This means that machine configurations which
> need to change the target don't need to also build perf explicitly.

Applied, thanks!

[1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL
      commit: f868b51fd3d007dbbaf6ceb8c9932c13f91a3142
[2/5] CI: improve coverage of corstone1000
      commit: 94a08c23b0a5b6b8a406e818941243f9162e2b80
[3/5] arm/trusted-firmware-m: stop FetchContent from fetching
      commit: c6b347d3e6cff0b3438d54c3ff430deb7e7bbe5c
[4/5] arm-bsp/trusted-firmware-m: add OpenAMP to the CS1K build
      commit: 77fac4cf2a3f2ad14bbda1c6472cb00f5ebd8924
[5/5] arm/secure-partitions: allow network operations during do_configure
      commit: 59db2ebad7198464be76af5615fb0c8b56482315

Best regards,
-- 
Jon Mason <jon.mason@arm.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-02-11 15:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-11 10:56 [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Ross Burton
2022-02-11 10:56 ` [PATCH 2/5] CI: improve coverage of corstone1000 Ross Burton
2022-02-11 10:56 ` [PATCH 3/5] arm/trusted-firmware-m: stop FetchContent from fetching Ross Burton
2022-02-11 10:56 ` [PATCH 4/5] arm-bsp/trusted-firmware-m: add OpenAMP to the CS1K build Ross Burton
2022-02-11 10:56 ` [PATCH 5/5] arm/secure-partitions: allow network operations during do_configure Ross Burton
2022-02-11 15:49 ` [PATCH 1/5] CI: build perf via CORE_IMAGE_EXTRA_INSTALL Jon Mason

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.