1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-07-17 16:17:09 +00:00

Compare commits

...

10 Commits

Author SHA1 Message Date
Jon Mason b75b8ce1ac arm/linux-arm64-ack: update branch name
The "deprecated" string was added to the branch name, which was causing
the SHA not to be found.  Update to the new name.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-11-27 17:43:33 -05:00
Ross Burton b1fe8443a7 CI: pin to kas 3.2 as 3.2.1 fails
For some reason the kas 3.2.1 container fails:

No such file or directory: '/builds/engineering/yocto/meta-arm/ci/ci/base.yml'

Note the repeated /ci/, which is wrong.

Pin the kas container to 3.2 for now until this is resolved.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-02-09 12:40:13 +00:00
Ross Burton d13be36099 arm/scp-firmware: backport a build race fix
There is a build race when generating the module includes which causes
errors, backport the fix.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-09 10:00:06 -05:00
Ross Burton a07dec8ad8 arm/scp-firmware: rationalise SRCREV/bbappends
In "scp-firmware: allow setting log level to INFO or WARN"[1] the base
SRCREV was bumped from db1991 (the 2.6 tag) to fd7c8356. This means a
fair amount of cleanup can be made:

The base recipe should set PV=2.6+git, both of the existing bbappends
already did this so those can be removed.

The base recipe's CMSIS SRCREV should be a SHA, not a tag name. Both
bbappends also did this so those can be removed.

The TC0 SRCREV is in fact earlier than the new base recipe, so remove
the override so unify the versions. There were no TC-specific changes
between the two SHAs so this should be safe.

[1] 9386db13df

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-09 10:00:06 -05:00
Jon Mason 58dbad789d CI: define DEFAULT_TAG and CPU_REQUEST
DEFAULT_TAG and CPU_REQUEST are being used to help with internal Gitlab
pipeline setups know which type of machines to run on, but has no value
outside of Arm Corp.  Gitlab CI allows for variables to be overridden
by default.  So, we can give it a default value of NULL/empty and have
everything work internally and externally by default.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-15 17:06:52 +00:00
Ross Burton 79b9225e24 CI: add tags to all jobs
Tag all jobs with the DEFAULT_TAG variable so each instance can control
what tags the jobs have, whilst still explicitly tagging the jobs which
need specific tags (such as x86_64 for jobs which need to run x86-only
binaries)

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-14 15:29:26 +00:00
Ross Burton 655124426a CI: add variables needed for k8s runners
The Kas container needs to use the entrypoint as that is where the user
changes from root to a normal user.

Also set the KUBERNETES_CPU_REQUEST to the variable CPU_REQUEST as this
needs to be tuned per-deployment.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-14 15:22:26 +00:00
Ross Burton 08c44df351 arm/trusted-firmware-a: update mbedtls branch name (old releases)
The mbedtls repository renamed the 2.16 branch from mbedtls-2.16 to
archive/mbedtls-2.16.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-09-21 11:22:45 +01:00
Ross Burton 2d86376931 arm/trusted-firmware-a: update mbedtls branch name
The mbedtls repository renamed the 2.18 branch from mbedtls-2.18 to
archive/mbedtls-2.18.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-20 10:34:51 -04:00
Ross Burton 6954705272 arm-toolchain/layer.conf: remove BB_DANGLINGAPPENDS_WARNONLY
This appears to be historical from when the toolchain was in meta-linaro.

It isn't needed anymore, there's one bbappend in meta-arm-toolchain for
grub which is part of oe-core, so will never be dangling.

This variable has a global effect, so leaving it in here has a negative
impact on users.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-04 14:08:42 -04:00
10 changed files with 91 additions and 21 deletions
+15 -2
View File
@@ -1,6 +1,13 @@
image: ghcr.io/siemens/kas/kas:latest-release
image: ghcr.io/siemens/kas/kas:3.2
variables:
CPU_REQUEST: ""
DEFAULT_TAG: ""
# These are needed as the k8s executor doesn't respect the container entrypoint
# by default
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
FF_KUBERNETES_HONOR_ENTRYPOINT: 1
# First do a common bootstrap, and then build all the targets
stages:
- prep
- bootstrap
@@ -8,6 +15,8 @@ stages:
# Common job fragment to get a worker ready
.setup:
tags:
- $DEFAULT_TAG
stage: build
variables:
KAS_WORK_DIR: $CI_PROJECT_DIR/work
@@ -26,6 +35,8 @@ stages:
# Generalised fragment to do a Kas build
.build:
extends: .setup
variables:
KUBERNETES_CPU_REQUEST: $CPU_REQUEST
interruptible: true
script:
- KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME)
@@ -56,6 +67,8 @@ n1sdp/bootstrap:
# What percentage of machines in the layer do we build
machine-coverage:
stage: bootstrap
tags:
- $DEFAULT_TAG
script:
- ./ci/check-machine-coverage
coverage: '/Coverage: \d+/'
@@ -1,14 +1,10 @@
# N1SDP specific SCP configurations and build instructions
SRCREV_scp = "fd7c83561a7d76c7681d5d017fb23aa3664c028c"
SRCREV_cmsis = "refs/tags/5.2.0"
SCP_PLATFORM = "n1sdp"
SCP_LOG_LEVEL = "INFO"
COMPATIBLE_MACHINE_n1sdp = "n1sdp"
PV = "2.6+git${SRCPV}"
DEPENDS += "fiptool-native"
DEPENDS += "virtual/trusted-firmware-a"
@@ -1,13 +1,6 @@
# TC0 specicif SCP configuration
# Intermediate SHA with 2.6 baseline version
SRCREV_scp = "ba1db5fb0ee4a520836722f7a694177d461ab716"
# 5.2.0 tag commit
SRCREV_cmsis = "80cc44bba16cb4c8f495b7aa9709d41ac50e9529"
COMPATIBLE_MACHINE = "tc0"
SCP_PLATFORM = "tc0"
FW_TARGETS = "scp"
PV = "2.6+git${SRCPV}"
-3
View File
@@ -14,8 +14,5 @@ LICENSE_PATH += "${LAYERDIR}/custom-licenses"
LAYERDEPENDS_arm-toolchain = "core"
LAYERSERIES_COMPAT_arm-toolchain = "zeus dunfell"
# do not error out on bbappends for missing recipes
BB_DANGLINGAPPENDS_WARNONLY = "true"
# These variables are used for armcompiler license
BB_HASHBASE_WHITELIST_append = " ARM_TOOL_VARIANT ARMLMD_LICENSE_FILE LM_LICENSE_FILE"
@@ -0,0 +1,69 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From 8aba6e5159273e2ed82d55780f35356262cb79c8 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Tue, 8 Sep 2020 11:49:08 +0100
Subject: [PATCH] tools/gen_module_code: atomically rewrite the generated files
The gen_module rule in rules.mk is marked as .PHONY, so make will
execute it whenever it is mentioned. This results in gen_module_code
being executed 64 times for a Juno build.
However in heavily parallel builds there's a good chance that
gen_module_code is writing a file whilst the compiler is reading it
because make also doesn't know what files are generated by
gen_module_code.
The correct fix is to adjust the Makefiles so that the dependencies are
correct but this isn't trivial, so band-aid the problem by atomically
writing the generated files.
Change-Id: I82d44f9ea6537a91002e1f80de8861d208571630
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
tools/gen_module_code.py | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/tools/gen_module_code.py b/tools/gen_module_code.py
index 7b3953845..ee099b713 100755
--- a/tools/gen_module_code.py
+++ b/tools/gen_module_code.py
@@ -17,6 +17,7 @@
import argparse
import os
import sys
+import tempfile
DEFAULT_PATH = 'build/'
@@ -53,13 +54,21 @@ TEMPLATE_C = "/* This file was auto generated using {} */\n" \
def generate_file(path, filename, content):
full_filename = os.path.join(path, filename)
- with open(full_filename, 'a+') as f:
- f.seek(0)
- if f.read() != content:
+
+ try:
+ with open(full_filename) as f:
+ rewrite = f.read() != content
+ except FileNotFoundError:
+ rewrite = True
+
+ if rewrite:
+ with tempfile.NamedTemporaryFile(prefix="gen-module-code",
+ dir=path,
+ delete=False,
+ mode="wt") as f:
print("[GEN] {}...".format(full_filename))
- f.seek(0)
- f.truncate()
f.write(content)
+ os.replace(f.name, full_filename)
def generate_header(path, modules):
--
2.34.1
@@ -11,10 +11,12 @@ LIC_FILES_CHKSUM += "file://cmsis/LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c2
SRC_URI = "\
git://github.com/ARM-software/SCP-firmware.git;protocol=https;name=scp;destsuffix=src;nobranch=1 \
git://github.com/ARM-software/CMSIS_5.git;protocol=https;name=cmsis;destsuffix=src/cmsis;lfs=0;nobranch=1 \
file://0001-tools-gen_module_code-atomically-rewrite-the-generat.patch \
"
PV = "2.6+git${SRCPV}"
SRCREV_scp = "fd7c83561a7d76c7681d5d017fb23aa3664c028c"
SRCREV_cmsis = "refs/tags/5.2.0"
SRCREV_cmsis = "80cc44bba16cb4c8f495b7aa9709d41ac50e9529"
SRCREV_FORMAT = "scp_cmsis"
require scp-firmware.inc
@@ -24,7 +24,7 @@ SRC_URI[tfa.sha256sum] = "7c4c00a4f28d3cfbb235fd1a1fb28c4d2fc1d657c9301686e7d882
# Those are used in trusted-firmware-a.inc if TFA_MBEDTLS is set to 1
#
SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=mbedtls-2.16"
SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=archive/mbedtls-2.16"
# mbed TLS v2.16.2
SRCREV_mbedtls = "d81c11b8ab61fd5b2da8133aa73c5fe33a0633eb"
@@ -24,7 +24,7 @@ SRC_URI[tfa.sha256sum] = "7c4c00a4f28d3cfbb235fd1a1fb28c4d2fc1d657c9301686e7d882
# Those are used in trusted-firmware-a.inc if TFA_MBEDTLS is set to 1
#
SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=mbedtls-2.16"
SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=archive/mbedtls-2.16"
# mbed TLS v2.16.2
SRCREV_mbedtls = "d81c11b8ab61fd5b2da8133aa73c5fe33a0633eb"
@@ -24,7 +24,7 @@ SRC_URI[tfa.sha256sum] = "7c4c00a4f28d3cfbb235fd1a1fb28c4d2fc1d657c9301686e7d882
# Those are used in trusted-firmware-a.inc if TFA_MBEDTLS is set to 1
#
SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=mbedtls-2.18"
SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=archive/mbedtls-2.18"
# mbed TLS v2.18.1
SRCREV_mbedtls = "ca933c7e0c9e84738b168b6b0feb89af4183a60a"
@@ -16,7 +16,7 @@ COMPATIBLE_MACHINE ?= "invalid"
ARCH = "arm64"
SRC_URI = " \
git://android.googlesource.com/kernel/common.git;protocol=https;branch=android-4.19-q-release \
git://android.googlesource.com/kernel/common.git;protocol=https;branch=deprecated/android-4.19-q-release \
"
# ASB-2020-06-05_4.19-q-release tag commit