mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-06-05 02:20:30 +00:00
arm/trusted-services:corstone1000: Pass Corstone-1000 target type
Trusted Services requires knowledge of the Corstone-1000 platform type to select the correct set of FWU image UUIDs at compile time. This change introduces a CORSTONE_1000_TYPE variable in both BitBake and CMake code to differentiate between Corstone-1000 platform types. Its value is determined by the selected Corstone-1000 target machine configuration file: * `CORSTONE_1000_TYPE_CORTEX_A35_FVP` * `CORSTONE_1000_TYPE_CORTEX_A35_MPS3` Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
committed by
Jon Mason
parent
7800703ba5
commit
c4ce6a426d
@@ -7,7 +7,7 @@ TFA_TARGET_PLATFORM = "fvp"
|
||||
|
||||
TFM_PLATFORM_IS_FVP = "TRUE"
|
||||
|
||||
TS_PLATFORM = "arm/corstone1000-fvp"
|
||||
CORSTONE_1000_TYPE = "CORSTONE_1000_TYPE_CORTEX_A35_FVP"
|
||||
|
||||
# testimage config
|
||||
TEST_TARGET = "OEFVPTarget"
|
||||
|
||||
@@ -6,9 +6,7 @@ require conf/machine/include/corstone1000.inc
|
||||
|
||||
TFA_TARGET_PLATFORM = "fpga"
|
||||
|
||||
PLATFORM_IS_FVP = "FALSE"
|
||||
|
||||
TS_PLATFORM = "arm/corstone1000-mps3"
|
||||
|
||||
# Unlike the FVP, MPS3 supports CoreSight
|
||||
MACHINE_FEATURES += "coresight"
|
||||
|
||||
CORSTONE_1000_TYPE = "CORSTONE_1000_TYPE_CORTEX_A35_MPS3"
|
||||
|
||||
-77
@@ -1,77 +0,0 @@
|
||||
From 00cbde17d3e38de385a6f0897cdd6d9bfe8250c7 Mon Sep 17 00:00:00 2001
|
||||
From: Ali Can Ozaslan <ali.oezaslan@arm.com>
|
||||
Date: Thu, 27 Feb 2025 14:06:07 +0000
|
||||
Subject: [PATCH 03/10] Platform: Corstone1000: Add PLATFORM_IS_FVP toggle for
|
||||
FVP/FPGA builds
|
||||
|
||||
Introduces PLATFORM_IS_FVP to differentiate between FVP and FPGA builds.
|
||||
Adds platform-specific CMake files for corstone1000-fvp and corstone1000-mps3,
|
||||
and updates platform.cmake to use this toggle.
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Ali Can Ozaslan <ali.oezaslan@arm.com>
|
||||
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
|
||||
---
|
||||
.../providers/arm/corstone1000-fvp/platform.cmake | 11 +++++++++++
|
||||
.../providers/arm/corstone1000-mps3/platform.cmake | 11 +++++++++++
|
||||
platform/providers/arm/corstone1000/platform.cmake | 3 ++-
|
||||
3 files changed, 24 insertions(+), 1 deletion(-)
|
||||
create mode 100644 platform/providers/arm/corstone1000-fvp/platform.cmake
|
||||
create mode 100644 platform/providers/arm/corstone1000-mps3/platform.cmake
|
||||
|
||||
diff --git a/platform/providers/arm/corstone1000-fvp/platform.cmake b/platform/providers/arm/corstone1000-fvp/platform.cmake
|
||||
new file mode 100644
|
||||
index 00000000..9a281e7a
|
||||
--- /dev/null
|
||||
+++ b/platform/providers/arm/corstone1000-fvp/platform.cmake
|
||||
@@ -0,0 +1,11 @@
|
||||
+#-------------------------------------------------------------------------------
|
||||
+# Copyright (c) 2025, Arm Limited and Contributors. All rights reserved.
|
||||
+#
|
||||
+# SPDX-License-Identifier: BSD-3-Clause
|
||||
+#
|
||||
+# Platform definition for the Corstone-1000-MPS3 platform.
|
||||
+#-------------------------------------------------------------------------------
|
||||
+
|
||||
+set(PLATFORM_IS_FVP 1 CACHE BOOL "Whether to enable FVP or FPGA build of the platform.")
|
||||
+
|
||||
+include(${TS_PLATFORM_ROOT}/arm/corstone1000/platform.cmake)
|
||||
diff --git a/platform/providers/arm/corstone1000-mps3/platform.cmake b/platform/providers/arm/corstone1000-mps3/platform.cmake
|
||||
new file mode 100644
|
||||
index 00000000..ec92d1e5
|
||||
--- /dev/null
|
||||
+++ b/platform/providers/arm/corstone1000-mps3/platform.cmake
|
||||
@@ -0,0 +1,11 @@
|
||||
+#-------------------------------------------------------------------------------
|
||||
+# Copyright (c) 2025, Arm Limited and Contributors. All rights reserved.
|
||||
+#
|
||||
+# SPDX-License-Identifier: BSD-3-Clause
|
||||
+#
|
||||
+# Platform definition for the Corstone-1000-FVP platform.
|
||||
+#-------------------------------------------------------------------------------
|
||||
+
|
||||
+set(PLATFORM_IS_FVP 0 CACHE BOOL "Whether to enable FVP or FPGA build of the platform.")
|
||||
+
|
||||
+include(${TS_PLATFORM_ROOT}/arm/corstone1000/platform.cmake)
|
||||
diff --git a/platform/providers/arm/corstone1000/platform.cmake b/platform/providers/arm/corstone1000/platform.cmake
|
||||
index 04c8138f..60bc208b 100644
|
||||
--- a/platform/providers/arm/corstone1000/platform.cmake
|
||||
+++ b/platform/providers/arm/corstone1000/platform.cmake
|
||||
@@ -1,5 +1,5 @@
|
||||
#-------------------------------------------------------------------------------
|
||||
-# Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved.
|
||||
+# Copyright (c) 2021-2025, Arm Limited and Contributors. All rights reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
@@ -17,6 +17,7 @@ target_compile_definitions(${TGT} PRIVATE
|
||||
PLAT_RSE_COMMS_PAYLOAD_MAX_SIZE=${PLAT_RSE_COMMS_PAYLOAD_MAX_SIZE}
|
||||
COMMS_MHU_MSG_SIZE=${COMMS_MHU_MSG_SIZE}
|
||||
MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
+ PLATFORM_IS_FVP=${PLATFORM_IS_FVP}
|
||||
)
|
||||
|
||||
get_property(_platform_driver_dependencies TARGET ${TGT}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
From a644191e6f184e39fbe60a8fd79bf34a9a88eb17 Mon Sep 17 00:00:00 2001
|
||||
From: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
|
||||
Date: Thu, 11 Sep 2025 14:25:04 +0100
|
||||
Subject: [PATCH] platform: corstone1000: Add CORSTONE_1000_TYPE variable for
|
||||
platform selection
|
||||
|
||||
This change introduces a CORSTONE_1000_TYPE variable in both CMake
|
||||
and C code to differentiate between Corstone-1000 platform types:
|
||||
* `CORSTONE_1000_TYPE_CORTEX_A35_FVP`
|
||||
* `CORSTONE_1000_TYPE_CORTEX_A35_MPS3`
|
||||
|
||||
The default platform type (`CORSTONE_1000_TYPE_CORTEX_A35_FVP`) is
|
||||
set in CMake and can be overridden via the `-DCORSTONE_1000_TYPE`
|
||||
option at configure time.
|
||||
|
||||
This variable will be used to select the correct FWU image UUIDs at
|
||||
compile time, as the UUIDs differ depending on the target platform.
|
||||
|
||||
Upstream-Status: Backport [2cd4db9828f244de77e402ad31c52d9c4ba3c600]
|
||||
Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
|
||||
Signed-off-by: Ali Can Ozaslan <ali.oezaslan@arm.com>
|
||||
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
|
||||
---
|
||||
.../providers/arm/corstone1000/platform.cmake | 21 ++++++++++++++++++-
|
||||
1 file changed, 20 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/platform/providers/arm/corstone1000/platform.cmake b/platform/providers/arm/corstone1000/platform.cmake
|
||||
index d39b7903..478a394d 100644
|
||||
--- a/platform/providers/arm/corstone1000/platform.cmake
|
||||
+++ b/platform/providers/arm/corstone1000/platform.cmake
|
||||
@@ -1,11 +1,29 @@
|
||||
#-------------------------------------------------------------------------------
|
||||
-# Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved.
|
||||
+# Copyright (c) 2021-2025, Arm Limited and Contributors. All rights reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
# Platform definition for the Corstone-1000 platform.
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
+# Important: The order and index of values must match C code expectations
|
||||
+set(_corstone_1000_valid_types
|
||||
+ CORSTONE_1000_TYPE_CORTEX_A35_FVP
|
||||
+ CORSTONE_1000_TYPE_CORTEX_A35_MPS3
|
||||
+)
|
||||
+set(CORSTONE_1000_TYPE "CORSTONE_1000_TYPE_CORTEX_A35_FVP" CACHE STRING
|
||||
+ "Corstone-1000 platform type. Valid values are: ${_corstone_1000_valid_types}"
|
||||
+)
|
||||
+set_property(CACHE CORSTONE_1000_TYPE PROPERTY STRINGS ${_corstone_1000_valid_types})
|
||||
+list(FIND _corstone_1000_valid_types "${CORSTONE_1000_TYPE}" CORSTONE_1000_TYPE_INT)
|
||||
+if(CORSTONE_1000_TYPE_INT EQUAL -1)
|
||||
+ message(FATAL_ERROR
|
||||
+ "Invalid CORSTONE_1000_TYPE: ${CORSTONE_1000_TYPE}.
|
||||
+ Valid values are: ${_corstone_1000_valid_types}"
|
||||
+ )
|
||||
+endif()
|
||||
+unset(_corstone_1000_valid_types)
|
||||
+
|
||||
set(SMM_GATEWAY_MAX_UEFI_VARIABLES 80 CACHE STRING "Maximum UEFI variable count")
|
||||
set(SMM_RPC_CALLER_SESSION_SHARED_MEMORY_SIZE 4*4096 CACHE STRING "RPC caller buffer size in SMMGW")
|
||||
set(SMM_SP_HEAP_SIZE 80*1024 CACHE STRING "SMM gateway SP heap size")
|
||||
@@ -14,6 +32,7 @@ target_compile_definitions(${TGT} PRIVATE
|
||||
SMM_VARIABLE_INDEX_STORAGE_UID=0x787
|
||||
PLAT_RSE_COMMS_PAYLOAD_MAX_SIZE=0x2080
|
||||
COMMS_MHU_MSG_SIZE=0x3500
|
||||
+ CORSTONE_1000_TYPE=${CORSTONE_1000_TYPE_INT}
|
||||
)
|
||||
|
||||
get_property(_platform_driver_dependencies TARGET ${TGT}
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -10,7 +10,7 @@ SRC_URI:append:corstone1000 = " \
|
||||
file://0006-Align-PSA-Crypto-with-TF-Mv2.1.patch \
|
||||
file://0007-Revert-Load-and-store-UEFI-variable-index-in-chunks.patch \
|
||||
file://0008-se-proxy-protobuf-change.patch \
|
||||
file://0009-Platform-Corstone1000-Add-PLATFORM_IS_FVP-toggle-for.patch \
|
||||
file://0009-platform-corstone1000-Add-CORSTONE_1000_TYPE-variabl.patch \
|
||||
file://0010-Integrate-PSA-FWU-IPC-framework-for-Corstone-1000.patch \
|
||||
file://0011-Load-initial-image-state-in-PSA-FWU-M-update-agent.patch \
|
||||
file://0012-Corstone1000-Define-PSA-FWU-image-mapping-structure.patch \
|
||||
@@ -27,3 +27,7 @@ CFLAGS:append:corstone1000 = " -Wno-int-conversion -Wno-implicit-function-declar
|
||||
|
||||
COMPATIBLE_MACHINE:fvp-base = "fvp-base"
|
||||
TS_PLATFORM:fvp-base = "arm/fvp/fvp_base_revc-2xaemv8a"
|
||||
|
||||
EXTRA_OECMAKE:append:corstone1000 = " \
|
||||
-DCORSTONE_1000_TYPE=${CORSTONE_1000_TYPE} \
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user