@@ -14,9 +14,9 @@ UBOOT_ENTRYPOINT = "0x80080000"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
# OP-TEE
-PREFERRED_VERSION_optee-os ?= "3.18%"
-PREFERRED_VERSION_optee-client ?= "3.18%"
-PREFERRED_VERSION_optee-test ?= "3.18%"
+PREFERRED_VERSION_optee-os ?= "3.20%"
+PREFERRED_VERSION_optee-client ?= "3.20%"
+PREFERRED_VERSION_optee-test ?= "3.20%"
# Cannot use the default zImage on arm64
KERNEL_IMAGETYPE = "Image"
@@ -1,7 +1,7 @@
-From 34db1357ab3192f18629ceadf4ea33b948513fec Mon Sep 17 00:00:00 2001
+From f449f6fdcbd987e18a26f0daeccfa447fe76821a Mon Sep 17 00:00:00 2001
From: Olivier Deprez <olivier.deprez@arm.com>
Date: Mon, 16 Nov 2020 10:14:02 +0100
-Subject: [PATCH 1/2] WIP: Enable managed exit
+Subject: [PATCH] WIP: Enable managed exit
This change declares OP-TEE SP as supporting managed exit in response to
a NS interrupt triggering while the SWd runs.
@@ -23,6 +23,7 @@ Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Upstream-Status: Pending [Not submitted to upstream yet]
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
+
---
core/arch/arm/kernel/boot.c | 12 ++++++++++++
core/arch/arm/kernel/thread_a64.S | 11 ++++++++++-
@@ -31,10 +32,10 @@ Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
4 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/core/arch/arm/kernel/boot.c b/core/arch/arm/kernel/boot.c
-index f173384d..466c042e 100644
+index dd34173e8..7d2ac74e8 100644
--- a/core/arch/arm/kernel/boot.c
+++ b/core/arch/arm/kernel/boot.c
-@@ -1350,6 +1350,18 @@ static void init_secondary_helper(unsigned long nsec_entry)
+@@ -1424,6 +1424,18 @@ static void init_secondary_helper(unsigned long nsec_entry)
init_vfp_sec();
init_vfp_nsec();
@@ -54,10 +55,10 @@ index f173384d..466c042e 100644
}
diff --git a/core/arch/arm/kernel/thread_a64.S b/core/arch/arm/kernel/thread_a64.S
-index d6baee4d..1b0c8f37 100644
+index 4fa97de24..4facc7631 100644
--- a/core/arch/arm/kernel/thread_a64.S
+++ b/core/arch/arm/kernel/thread_a64.S
-@@ -1087,6 +1087,14 @@ END_FUNC el0_sync_abort
+@@ -1162,6 +1162,14 @@ END_FUNC el0_sync_abort
bl dcache_op_louis
ic iallu
#endif
@@ -72,7 +73,7 @@ index d6baee4d..1b0c8f37 100644
/*
* Mark current thread as suspended
*/
-@@ -1204,8 +1212,9 @@ LOCAL_FUNC elx_irq , :
+@@ -1318,8 +1326,9 @@ LOCAL_FUNC elx_irq , :
#endif
END_FUNC elx_irq
@@ -84,10 +85,10 @@ index d6baee4d..1b0c8f37 100644
#else
native_intr_handler fiq
diff --git a/core/arch/arm/kernel/thread_spmc.c b/core/arch/arm/kernel/thread_spmc.c
-index ea9e8f03..15577e7e 100644
+index 3b4ac0b4e..8f7c18dfa 100644
--- a/core/arch/arm/kernel/thread_spmc.c
+++ b/core/arch/arm/kernel/thread_spmc.c
-@@ -1518,6 +1518,17 @@ static TEE_Result spmc_init(void)
+@@ -1517,6 +1517,17 @@ static TEE_Result spmc_init(void)
my_endpoint_id = spmc_get_id();
DMSG("My endpoint ID %#x", my_endpoint_id);
@@ -106,7 +107,7 @@ index ea9e8f03..15577e7e 100644
}
#endif /* !defined(CFG_CORE_SEL1_SPMC) */
diff --git a/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts b/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
-index 0bfe33f3..00cfa5b2 100644
+index 3ebbaddc8..56e69f372 100644
--- a/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
+++ b/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
@@ -24,6 +24,7 @@
@@ -117,6 +118,3 @@ index 0bfe33f3..00cfa5b2 100644
device-regions {
compatible = "arm,ffa-manifest-device-regions";
-2.34.1
-
@@ -1,23 +1,23 @@
-From 35dba075593cb32c62b881e7763fcf0ea37908f7 Mon Sep 17 00:00:00 2001
-From: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
-Date: Mon, 23 May 2022 11:32:41 +0100
-Subject: [PATCH 2/2] plat-totalcompute: fix TZDRAM start and size
+From 5ddda749c60dce834bcd79e8b8d904858319adc0 Mon Sep 17 00:00:00 2001
+From: Rupinderjit Singh <rupinderjit.singh@arm.com>
+Date: Tue, 7 Feb 2023 09:45:02 +0000
+Subject: [PATCH] plat-totalcompute: update TZDRAM_SIZE
-- Fix TZDRAM_SIZE in TC platform
-- For CFG_CORE_SEL2_SPMC, manifest size is increased from 0x1000 to
- 0x4000 for boot protocol support.
+For CFG_CORE_SEL2_SPMC, manifest size is increased from 0x1000 to
+0x4000 for boot protocol support.
-Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com>
+Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
+
+Upstream-Status: Backport
+Signed-off-by: Jon Mason <jon.mason@arm.com>
-Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
-Change-Id: Iff19c498e9edae961f469604d69419c1a32145f5
---
- core/arch/arm/plat-totalcompute/conf.mk | 5 +++--
- core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts | 2 +-
- 2 files changed, 4 insertions(+), 3 deletions(-)
+ core/arch/arm/plat-totalcompute/conf.mk | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/core/arch/arm/plat-totalcompute/conf.mk b/core/arch/arm/plat-totalcompute/conf.mk
-index b39ac0f0..2f6c0ee1 100644
+index b39ac0f0667f..2f6c0ee1460a 100644
--- a/core/arch/arm/plat-totalcompute/conf.mk
+++ b/core/arch/arm/plat-totalcompute/conf.mk
@@ -32,8 +32,9 @@ ifeq ($(CFG_CORE_SEL1_SPMC),y)
@@ -32,19 +32,3 @@ index b39ac0f0..2f6c0ee1 100644
else
CFG_TZDRAM_START ?= 0xff000000
CFG_TZDRAM_SIZE ?= 0x01000000
-diff --git a/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts b/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
-index 00cfa5b2..56e69f37 100644
---- a/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
-+++ b/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
-@@ -20,7 +20,7 @@
- exception-level = <2>; /* S-EL1 */
- execution-state = <0>; /* AARCH64 */
- load-address = <0xfd280000>;
-- entrypoint-offset = <0x1000>;
-+ entrypoint-offset = <0x4000>;
- xlat-granule = <0>; /* 4KiB */
- boot-order = <0>;
- messaging-method = <0x3>; /* Direct request/response supported */
-2.34.1
-
deleted file mode 100644
@@ -1,14 +0,0 @@
-# Total Compute (tc) specific configuration for optee-os and optee-os-tadevkit
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/files/optee-os/tc:"
-SRC_URI:append:tc = " \
- file://sp_layout.json \
- file://0001-WIP-Enable-managed-exit.patch \
- file://0002-plat-totalcompute-fix-TZDRAM-start-and-size.patch \
- "
-
-COMPATIBLE_MACHINE = "(tc?)"
-
-OPTEEMACHINE:tc0 = "totalcompute-tc0"
-OPTEEMACHINE:tc1 = "totalcompute-tc1"
-
@@ -1,6 +1,6 @@
# Machine specific configurations
MACHINE_OPTEE_OS_TADEVKIT_REQUIRE ?= ""
-MACHINE_OPTEE_OS_TADEVKIT_REQUIRE:tc = "optee-os-generic-tc.inc"
+MACHINE_OPTEE_OS_TADEVKIT_REQUIRE:tc = "optee-os-tc.inc"
require ${MACHINE_OPTEE_OS_TADEVKIT_REQUIRE}
@@ -1,6 +1,16 @@
# TC0 specific configuration
-require optee-os-generic-tc.inc
+# Total Compute (tc) specific configuration for optee-os and optee-os-tadevkit
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/files/optee-os/tc:"
+SRC_URI:append:tc = " file://sp_layout.json \
+ file://0001-WIP-Enable-managed-exit.patch \
+ file://0002-plat-totalcompute-fix-TZDRAM-start-and-size.patch \
+ "
+
+COMPATIBLE_MACHINE = "(tc?)"
+
+OPTEEMACHINE:tc1 = "totalcompute-tc1"
# Enable optee memory layout and boot logs
EXTRA_OEMAKE += " CFG_TEE_CORE_LOG_LEVEL=3"
@@ -2,5 +2,6 @@
MACHINE_OPTEE_OS_REQUIRE ?= ""
MACHINE_OPTEE_OS_REQUIRE:n1sdp = "optee-os-n1sdp.inc"
+MACHINE_OPTEE_OS_REQUIRE:tc = "optee-os-tc.inc"
require ${MACHINE_OPTEE_OS_REQUIRE}
@@ -1,7 +1,6 @@
# Machine specific configurations
MACHINE_OPTEE_TEST_REQUIRE ?= ""
-MACHINE_OPTEE_TEST_REQUIRE:tc = "optee-test-tc.inc"
MACHINE_OPTEE_TEST_REQUIRE:n1sdp = "optee-os-generic-n1sdp.inc"
require ${MACHINE_OPTEE_TEST_REQUIRE}
new file mode 100644
@@ -0,0 +1,6 @@
+# Machine specific configurations
+
+MACHINE_OPTEE_TEST_REQUIRE ?= ""
+MACHINE_OPTEE_TEST_REQUIRE:tc = "optee-test-tc.inc"
+
+require ${MACHINE_OPTEE_TEST_REQUIRE}
Signed-off-by: Jon Mason <jon.mason@arm.com> --- meta-arm-bsp/conf/machine/include/tc.inc | 6 +-- .../tc/0001-WIP-Enable-managed-exit.patch | 24 +++++----- ...talcompute-fix-TZDRAM-start-and-size.patch | 44 ++++++------------- .../optee/optee-os-generic-tc.inc | 14 ------ .../optee/optee-os-tadevkit_3.18.0.bbappend | 2 +- .../recipes-security/optee/optee-os-tc.inc | 12 ++++- .../optee/optee-os_3.20.0.bbappend | 1 + .../optee/optee-test_3.18.0.bbappend | 1 - .../optee/optee-test_3.20.0.bbappend | 6 +++ 9 files changed, 47 insertions(+), 63 deletions(-) delete mode 100644 meta-arm-bsp/recipes-security/optee/optee-os-generic-tc.inc create mode 100644 meta-arm-bsp/recipes-security/optee/optee-test_3.20.0.bbappend