* [PATCH 2/5] arm-bsp/scp-firmware: remove redundant SCP_PLATFORM
2023-07-10 13:09 [PATCH 1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE ross.burton
@ 2023-07-10 13:09 ` ross.burton
2023-07-10 13:09 ` [PATCH 3/5] arm/scp-firware: update compiler variables ross.burton
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: ross.burton @ 2023-07-10 13:09 UTC (permalink / raw)
To: meta-arm; +Cc: nd
From: Ross Burton <ross.burton@arm.com>
Now that this defaults to MACHINE, explicit SCP_PLATFORM assignments can
be removed.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc | 1 -
meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc | 5 ++---
.../recipes-bsp/scp-firmware/scp-firmware-sgi575.inc | 5 ++---
meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-tc.inc | 1 -
4 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc
index f78c94b4..1f02d8e5 100644
--- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc
+++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-juno.inc
@@ -2,7 +2,6 @@
COMPATIBLE_MACHINE = "juno"
-SCP_PLATFORM = "juno"
FW_TARGETS = "scp"
FW_INSTALL:append = " romfw_bypass"
diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc
index 811537aa..c89b132c 100644
--- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc
+++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-n1sdp.inc
@@ -1,10 +1,9 @@
# N1SDP specific SCP configurations and build instructions
-SCP_PLATFORM = "n1sdp"
-SCP_LOG_LEVEL = "INFO"
-
COMPATIBLE_MACHINE:n1sdp = "n1sdp"
+SCP_LOG_LEVEL = "INFO"
+
DEPENDS += "fiptool-native"
DEPENDS += "trusted-firmware-a"
DEPENDS += "n1sdp-board-firmware"
diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-sgi575.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-sgi575.inc
index e1b0a854..3413822a 100644
--- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-sgi575.inc
+++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-sgi575.inc
@@ -1,6 +1,5 @@
# SGI575 specific SCP configurations and build instructions
-SCP_PLATFORM = "sgi575"
-SCP_LOG_LEVEL = "INFO"
-
COMPATIBLE_MACHINE:sgi575 = "sgi575"
+
+SCP_LOG_LEVEL = "INFO"
diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-tc.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-tc.inc
index 3cbadad8..2c656357 100644
--- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-tc.inc
+++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-tc.inc
@@ -2,5 +2,4 @@
COMPATIBLE_MACHINE = "(tc1)"
-SCP_PLATFORM:tc1 = "tc1"
FW_TARGETS = "scp"
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 3/5] arm/scp-firware: update compiler variables
2023-07-10 13:09 [PATCH 1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE ross.burton
2023-07-10 13:09 ` [PATCH 2/5] arm-bsp/scp-firmware: remove redundant SCP_PLATFORM ross.burton
@ 2023-07-10 13:09 ` ross.burton
2023-07-10 13:09 ` [PATCH 4/5] arm/scp-firmware: log what platform/firmware/type is being built ross.burton
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: ross.burton @ 2023-07-10 13:09 UTC (permalink / raw)
To: meta-arm; +Cc: nd
From: Ross Burton <ross.burton@arm.com>
SCP_COMPILER isn't used anymore, so remove it.
Explicitly set SCP_TOOLCHAIN=GNU for clarity.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
index 2ab7f306..ebb3197e 100644
--- a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
+++ b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
@@ -16,7 +16,6 @@ PROVIDES += "virtual/control-processor-firmware"
CMAKE_BUILD_TYPE ?= "RelWithDebInfo"
SCP_PLATFORM ?= "${MACHINE}"
-SCP_COMPILER ?= "arm-none-eabi"
SCP_LOG_LEVEL ?= "WARN"
SCP_PLATFORM_FEATURE_SET ?= "0"
@@ -53,6 +52,7 @@ EXTRA_OECMAKE = "-D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
-D SCP_LOG_LEVEL=${SCP_LOG_LEVEL} \
-D SCP_PLATFORM_FEATURE_SET=${SCP_PLATFORM_FEATURE_SET} \
-D DISABLE_CPPCHECK=1 \
+ -D SCP_TOOLCHAIN=GNU \
"
do_configure() {
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 4/5] arm/scp-firmware: log what platform/firmware/type is being built
2023-07-10 13:09 [PATCH 1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE ross.burton
2023-07-10 13:09 ` [PATCH 2/5] arm-bsp/scp-firmware: remove redundant SCP_PLATFORM ross.burton
2023-07-10 13:09 ` [PATCH 3/5] arm/scp-firware: update compiler variables ross.burton
@ 2023-07-10 13:09 ` ross.burton
2023-07-10 13:09 ` [PATCH 5/5] arm/scp-firmware: fix intermittent compile failures ross.burton
2023-07-10 21:20 ` [PATCH 1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE Jon Mason
4 siblings, 0 replies; 7+ messages in thread
From: ross.burton @ 2023-07-10 13:09 UTC (permalink / raw)
To: meta-arm; +Cc: nd
From: Ross Burton <ross.burton@arm.com>
This helps understand long build logs.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
index ebb3197e..25cd1dcd 100644
--- a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
+++ b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
@@ -58,7 +58,8 @@ EXTRA_OECMAKE = "-D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
do_configure() {
for FW in ${FW_TARGETS}; do
for TYPE in ${FW_INSTALL}; do
- cmake -GNinja ${EXTRA_OECMAKE} -S ${S} -B "${B}/${TYPE}/${FW}" -D SCP_FIRMWARE_SOURCE_DIR="${SCP_PLATFORM}/${FW}_${TYPE}"
+ bbnote Configuring ${SCP_PLATFORM}/${FW}_${TYPE}...
+ cmake -GNinja ${EXTRA_OECMAKE} -S ${S} -B "${B}/${TYPE}/${FW}" -D SCP_FIRMWARE_SOURCE_DIR:PATH="${SCP_PLATFORM}/${FW}_${TYPE}"
done
done
}
@@ -68,6 +69,7 @@ do_configure[cleandirs] += "${B}"
do_compile() {
for FW in ${FW_TARGETS}; do
for TYPE in ${FW_INSTALL}; do
+ bbnote Building ${SCP_PLATFORM}/${FW}_${TYPE}...
VERBOSE=1 cmake --build ${B}/${TYPE}/${FW} --target all
done
done
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 5/5] arm/scp-firmware: fix intermittent compile failures
2023-07-10 13:09 [PATCH 1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE ross.burton
` (2 preceding siblings ...)
2023-07-10 13:09 ` [PATCH 4/5] arm/scp-firmware: log what platform/firmware/type is being built ross.burton
@ 2023-07-10 13:09 ` ross.burton
2023-07-31 8:00 ` [meta-arm] " Mikko Rapeli
2023-07-10 21:20 ` [PATCH 1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE Jon Mason
4 siblings, 1 reply; 7+ messages in thread
From: ross.burton @ 2023-07-10 13:09 UTC (permalink / raw)
To: meta-arm; +Cc: nd
From: Ross Burton <ross.burton@arm.com>
scp-firmware passes -I/core/include to the compiler which doesn't exist,
and sometimes gcc emits a fatal error. It's unclear why this doesn't
happen for everyone, but this workaround appears to be the correct
solution.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
.../files/optee-private-includes.patch | 34 +++++++++++++++++++
.../scp-firmware/scp-firmware_2.12.0.bb | 5 +--
2 files changed, 37 insertions(+), 2 deletions(-)
create mode 100644 meta-arm/recipes-bsp/scp-firmware/files/optee-private-includes.patch
diff --git a/meta-arm/recipes-bsp/scp-firmware/files/optee-private-includes.patch b/meta-arm/recipes-bsp/scp-firmware/files/optee-private-includes.patch
new file mode 100644
index 00000000..c2d86022
--- /dev/null
+++ b/meta-arm/recipes-bsp/scp-firmware/files/optee-private-includes.patch
@@ -0,0 +1,34 @@
+Change the optee module includes to be private instead of public, so they don't get used
+in every build, which can result in compile failures as /core/include/ doesn't exit.
+
+For some reason this behaviour isn't deterministic, a ticket has been filed with upstream.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/module/optee/console/CMakeLists.txt b/module/optee/console/CMakeLists.txt
+index aebb7cc79..942aa98c8 100644
+--- a/module/optee/console/CMakeLists.txt
++++ b/module/optee/console/CMakeLists.txt
+@@ -14,7 +14,7 @@ target_include_directories(${SCP_MODULE_TARGET}
+ # Those includes are needed for mutex definitnion that is used in optee_smt
+ # notification
+ target_include_directories(${SCP_MODULE_TARGET}
+- PUBLIC "${SCP_OPTEE_DIR}/core/arch/arm/include/"
++ PRIVATE "${SCP_OPTEE_DIR}/core/arch/arm/include/"
+ "${SCP_OPTEE_DIR}/core/include/"
+ "${SCP_OPTEE_DIR}/lib/libutils/ext/include/"
+ "${SCP_OPTEE_DIR}/lib/libutee/include/")
+diff --git a/module/optee/mbx/CMakeLists.txt b/module/optee/mbx/CMakeLists.txt
+index 305fa42b7..783a7970c 100644
+--- a/module/optee/mbx/CMakeLists.txt
++++ b/module/optee/mbx/CMakeLists.txt
+@@ -15,7 +15,7 @@ target_include_directories(${SCP_MODULE_TARGET}
+ # Those includes are needed for mutex defifitnion that is used in optee_smt
+ # notification
+ target_include_directories(${SCP_MODULE_TARGET}
+- PUBLIC "${SCP_OPTEE_DIR}/core/include/"
++ PRIVATE "${SCP_OPTEE_DIR}/core/include/"
+ "${SCP_OPTEE_DIR}/lib/libutils/ext/include/"
+ "${SCP_OPTEE_DIR}/lib/libutee/include/")
+
diff --git a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
index 25cd1dcd..58482cd3 100644
--- a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
+++ b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
@@ -7,9 +7,10 @@ LIC_FILES_CHKSUM = "file://license.md;beginline=5;md5=9db9e3d2fb8d9300a6c3d15101
file://contrib/cmsis/git/LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI_SCP_FIRMWARE ?= "gitsm://github.com/ARM-software/SCP-firmware.git;protocol=https"
-SRC_URI = "${SRC_URI_SCP_FIRMWARE};branch=${SRCBRANCH}"
-SRCBRANCH = "master"
+SRC_URI = "${SRC_URI_SCP_FIRMWARE};branch=${SRCBRANCH} \
+ file://optee-private-includes.patch"
+SRCBRANCH = "master"
SRCREV = "0c7236b1851d90124210a0414fd982dc55322c7c"
PROVIDES += "virtual/control-processor-firmware"
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [meta-arm] [PATCH 5/5] arm/scp-firmware: fix intermittent compile failures
2023-07-10 13:09 ` [PATCH 5/5] arm/scp-firmware: fix intermittent compile failures ross.burton
@ 2023-07-31 8:00 ` Mikko Rapeli
0 siblings, 0 replies; 7+ messages in thread
From: Mikko Rapeli @ 2023-07-31 8:00 UTC (permalink / raw)
To: Ross Burton; +Cc: meta-arm, nd
Hi,
On Mon, Jul 10, 2023 at 02:09:16PM +0100, Ross Burton wrote:
> From: Ross Burton <ross.burton@arm.com>
>
> scp-firmware passes -I/core/include to the compiler which doesn't exist,
> and sometimes gcc emits a fatal error. It's unclear why this doesn't
> happen for everyone, but this workaround appears to be the correct
> solution.
Thanks, I was also struggling with this when SCP_OPTEE_DIR wasn't set on all
configurations.
Cheers,
-Mikko
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
> .../files/optee-private-includes.patch | 34 +++++++++++++++++++
> .../scp-firmware/scp-firmware_2.12.0.bb | 5 +--
> 2 files changed, 37 insertions(+), 2 deletions(-)
> create mode 100644 meta-arm/recipes-bsp/scp-firmware/files/optee-private-includes.patch
>
> diff --git a/meta-arm/recipes-bsp/scp-firmware/files/optee-private-includes.patch b/meta-arm/recipes-bsp/scp-firmware/files/optee-private-includes.patch
> new file mode 100644
> index 00000000..c2d86022
> --- /dev/null
> +++ b/meta-arm/recipes-bsp/scp-firmware/files/optee-private-includes.patch
> @@ -0,0 +1,34 @@
> +Change the optee module includes to be private instead of public, so they don't get used
> +in every build, which can result in compile failures as /core/include/ doesn't exit.
> +
> +For some reason this behaviour isn't deterministic, a ticket has been filed with upstream.
> +
> +Upstream-Status: Pending
> +Signed-off-by: Ross Burton <ross.burton@arm.com>
> +
> +diff --git a/module/optee/console/CMakeLists.txt b/module/optee/console/CMakeLists.txt
> +index aebb7cc79..942aa98c8 100644
> +--- a/module/optee/console/CMakeLists.txt
> ++++ b/module/optee/console/CMakeLists.txt
> +@@ -14,7 +14,7 @@ target_include_directories(${SCP_MODULE_TARGET}
> + # Those includes are needed for mutex definitnion that is used in optee_smt
> + # notification
> + target_include_directories(${SCP_MODULE_TARGET}
> +- PUBLIC "${SCP_OPTEE_DIR}/core/arch/arm/include/"
> ++ PRIVATE "${SCP_OPTEE_DIR}/core/arch/arm/include/"
> + "${SCP_OPTEE_DIR}/core/include/"
> + "${SCP_OPTEE_DIR}/lib/libutils/ext/include/"
> + "${SCP_OPTEE_DIR}/lib/libutee/include/")
> +diff --git a/module/optee/mbx/CMakeLists.txt b/module/optee/mbx/CMakeLists.txt
> +index 305fa42b7..783a7970c 100644
> +--- a/module/optee/mbx/CMakeLists.txt
> ++++ b/module/optee/mbx/CMakeLists.txt
> +@@ -15,7 +15,7 @@ target_include_directories(${SCP_MODULE_TARGET}
> + # Those includes are needed for mutex defifitnion that is used in optee_smt
> + # notification
> + target_include_directories(${SCP_MODULE_TARGET}
> +- PUBLIC "${SCP_OPTEE_DIR}/core/include/"
> ++ PRIVATE "${SCP_OPTEE_DIR}/core/include/"
> + "${SCP_OPTEE_DIR}/lib/libutils/ext/include/"
> + "${SCP_OPTEE_DIR}/lib/libutee/include/")
> +
> diff --git a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
> index 25cd1dcd..58482cd3 100644
> --- a/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
> +++ b/meta-arm/recipes-bsp/scp-firmware/scp-firmware_2.12.0.bb
> @@ -7,9 +7,10 @@ LIC_FILES_CHKSUM = "file://license.md;beginline=5;md5=9db9e3d2fb8d9300a6c3d15101
> file://contrib/cmsis/git/LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e"
>
> SRC_URI_SCP_FIRMWARE ?= "gitsm://github.com/ARM-software/SCP-firmware.git;protocol=https"
> -SRC_URI = "${SRC_URI_SCP_FIRMWARE};branch=${SRCBRANCH}"
> -SRCBRANCH = "master"
> +SRC_URI = "${SRC_URI_SCP_FIRMWARE};branch=${SRCBRANCH} \
> + file://optee-private-includes.patch"
>
> +SRCBRANCH = "master"
> SRCREV = "0c7236b1851d90124210a0414fd982dc55322c7c"
>
> PROVIDES += "virtual/control-processor-firmware"
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#4875): https://lists.yoctoproject.org/g/meta-arm/message/4875
> Mute This Topic: https://lists.yoctoproject.org/mt/100057036/7159507
> Group Owner: meta-arm+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [mikko.rapeli@linaro.org]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE
2023-07-10 13:09 [PATCH 1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE ross.burton
` (3 preceding siblings ...)
2023-07-10 13:09 ` [PATCH 5/5] arm/scp-firmware: fix intermittent compile failures ross.burton
@ 2023-07-10 21:20 ` Jon Mason
4 siblings, 0 replies; 7+ messages in thread
From: Jon Mason @ 2023-07-10 21:20 UTC (permalink / raw)
To: meta-arm, ross.burton; +Cc: nd
On Mon, 10 Jul 2023 14:09:12 +0100, ross.burton@arm.com wrote:
> Many platform names are the same as the machine name, so this saves
> some typing.
>
>
Applied, thanks!
[1/5] arm/scp-firmware: set default SCP_PLATFORM to MACHINE
commit: ce78057a719c09d3e8f9ac49da055be4ad392fae
[2/5] arm-bsp/scp-firmware: remove redundant SCP_PLATFORM
commit: 64b33efb95276990c309c630faad5bfd0384d298
[3/5] arm/scp-firware: update compiler variables
commit: 675dce4d63872b28563661f3f76020c8a76fcea1
[4/5] arm/scp-firmware: log what platform/firmware/type is being built
commit: 6947632e0b231a34b9706a98ade52f48455ed5a6
[5/5] arm/scp-firmware: fix intermittent compile failures
commit: 249b534ce73728ffc488a53fd6b3ef6a596f7e8d
Best regards,
--
Jon Mason <jon.mason@arm.com>
^ permalink raw reply [flat|nested] 7+ messages in thread