diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch index ab4a6dbc..2aec7fc3 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch @@ -1,4 +1,4 @@ -From 528aeb42652a3159c1bfd51d6c1442c3ff27b84c Mon Sep 17 00:00:00 2001 +From fed478758e495f35d18a9e2a89193e6577b06799 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 26 May 2020 14:38:02 -0500 Subject: [PATCH] allow setting sysroot for libgcc lookup @@ -9,13 +9,12 @@ otherwise. Upstream-Status: Pending [https://github.com/OP-TEE/optee_os/issues/4188] Signed-off-by: Ross Burton - --- mk/gcc.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mk/gcc.mk b/mk/gcc.mk -index adc77a24..81bfa78a 100644 +index adc77a24f25e..81bfa78ad8d7 100644 --- a/mk/gcc.mk +++ b/mk/gcc.mk @@ -13,11 +13,11 @@ nostdinc$(sm) := -nostdinc -isystem $(shell $(CC$(sm)) \ diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0002-optee-enable-clang-support.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0002-optee-enable-clang-support.patch index 067ba6eb..7441e744 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0002-optee-enable-clang-support.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0002-optee-enable-clang-support.patch @@ -1,4 +1,4 @@ -From db9e44af75c7cfd3316cab15aaa387383df3e57e Mon Sep 17 00:00:00 2001 +From f158e3af6633bd689a76d53be2c9c590c0385350 Mon Sep 17 00:00:00 2001 From: Brett Warren Date: Wed, 23 Sep 2020 09:27:34 +0100 Subject: [PATCH] optee: enable clang support @@ -10,13 +10,12 @@ compiler-rt. This is mitigated by including the variable as ammended. Upstream-Status: Pending ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701 Signed-off-by: Brett Warren - --- mk/clang.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/clang.mk b/mk/clang.mk -index c141a3f2..7d067cc0 100644 +index c141a3f2ed0b..7d067cc007fa 100644 --- a/mk/clang.mk +++ b/mk/clang.mk @@ -27,7 +27,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \ diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0003-core-link-add-no-warn-rwx-segments.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0003-core-link-add-no-warn-rwx-segments.patch index 6d48a760..62aee356 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0003-core-link-add-no-warn-rwx-segments.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0003-core-link-add-no-warn-rwx-segments.patch @@ -1,4 +1,4 @@ -From cf2a2451f4e9300532d677bb3a8315494a3b3a82 Mon Sep 17 00:00:00 2001 +From fb69397234b1efe3528714b6c0c1921ce37ad6a6 Mon Sep 17 00:00:00 2001 From: Jerome Forissier Date: Fri, 5 Aug 2022 09:48:03 +0200 Subject: [PATCH] core: link: add --no-warn-rwx-segments @@ -18,13 +18,12 @@ Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448 Reported-by: Dominique Martinet Signed-off-by: Jerome Forissier Acked-by: Jens Wiklander - --- core/arch/arm/kernel/link.mk | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk -index 7eed333a..c39d43cb 100644 +index 7eed333a32de..c39d43cbfc5b 100644 --- a/core/arch/arm/kernel/link.mk +++ b/core/arch/arm/kernel/link.mk @@ -31,6 +31,7 @@ link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0004-core-Define-section-attributes-for-clang.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0004-core-Define-section-attributes-for-clang.patch index 0ab670f5..e3c509f6 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0004-core-Define-section-attributes-for-clang.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0004-core-Define-section-attributes-for-clang.patch @@ -1,4 +1,4 @@ -From 7218af04ce3af466e95d69e4995138cd2d26dd3f Mon Sep 17 00:00:00 2001 +From 0690909f07779a8f35b1f3d0baf8d4c5c9305d14 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 13 Aug 2022 19:24:55 -0700 Subject: [PATCH] core: Define section attributes for clang @@ -39,7 +39,7 @@ Signed-off-by: Khem Raj 5 files changed, 104 insertions(+), 11 deletions(-) diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c -index f083b159..432983c8 100644 +index f083b159e969..432983c86c9f 100644 --- a/core/arch/arm/kernel/thread.c +++ b/core/arch/arm/kernel/thread.c @@ -44,15 +44,30 @@ static size_t thread_user_kcode_size __nex_bss; @@ -76,7 +76,7 @@ index f083b159..432983c8 100644 #ifdef ARM32 diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c -index 3f08eec6..e6dc9261 100644 +index 3f08eec623f3..e6dc9261c41e 100644 --- a/core/arch/arm/mm/core_mmu_lpae.c +++ b/core/arch/arm/mm/core_mmu_lpae.c @@ -233,19 +233,46 @@ typedef uint16_t l1_idx_t; @@ -131,7 +131,7 @@ index 3f08eec6..e6dc9261 100644 * TAs page table entry inside a level 1 page table. * diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c -index cd85bd22..3e18f54f 100644 +index cd85bd22d385..3e18f54f6cf8 100644 --- a/core/arch/arm/mm/core_mmu_v7.c +++ b/core/arch/arm/mm/core_mmu_v7.c @@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES]; @@ -185,7 +185,7 @@ index cd85bd22..3e18f54f 100644 struct mmu_partition { l1_xlat_tbl_t *l1_table; diff --git a/core/arch/arm/mm/pgt_cache.c b/core/arch/arm/mm/pgt_cache.c -index dee1d207..382cae1c 100644 +index dee1d207943f..382cae1c3f30 100644 --- a/core/arch/arm/mm/pgt_cache.c +++ b/core/arch/arm/mm/pgt_cache.c @@ -104,8 +104,18 @@ void pgt_init(void) @@ -209,7 +209,7 @@ index dee1d207..382cae1c 100644 for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) { diff --git a/core/kernel/thread.c b/core/kernel/thread.c -index 18d34e6a..086129e2 100644 +index 18d34e6adfe2..086129e282bc 100644 --- a/core/kernel/thread.c +++ b/core/kernel/thread.c @@ -37,13 +37,24 @@ struct thread_core_local thread_core_local[CFG_TEE_CORE_NB_CORE] __nex_bss; diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0005-core-ldelf-link-add-z-execstack.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0005-core-ldelf-link-add-z-execstack.patch index 3ba6c4ef..862a76b4 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0005-core-ldelf-link-add-z-execstack.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0005-core-ldelf-link-add-z-execstack.patch @@ -1,4 +1,4 @@ -From ea932656461865ab9ac4036245c756c082aeb3e1 Mon Sep 17 00:00:00 2001 +From 63445958678b58c5adc7eca476b216e5dc0f4195 Mon Sep 17 00:00:00 2001 From: Jerome Forissier Date: Tue, 23 Aug 2022 11:41:00 +0000 Subject: [PATCH] core, ldelf: link: add -z execstack @@ -20,14 +20,13 @@ Signed-off-by: Jerome Forissier Signed-off-by: Anton Antonov Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499] - --- core/arch/arm/kernel/link.mk | 13 +++++++++---- ldelf/link.mk | 3 +++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk -index c39d43cb..0e96e606 100644 +index c39d43cbfc5b..0e96e606cd9d 100644 --- a/core/arch/arm/kernel/link.mk +++ b/core/arch/arm/kernel/link.mk @@ -9,6 +9,11 @@ link-script-dep = $(link-out-dir)/.kern.ld.d @@ -79,7 +78,7 @@ index c39d43cb..0e96e606 100644 $(libgcccore) cleanfiles += $(link-out-dir)/init.o diff --git a/ldelf/link.mk b/ldelf/link.mk -index 64c8212a..bd49551e 100644 +index 64c8212a06fa..bd49551e7065 100644 --- a/ldelf/link.mk +++ b/ldelf/link.mk @@ -20,6 +20,9 @@ link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0006-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0006-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch index 4ea65d88..e82fdc71 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0006-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.18.0/0006-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch @@ -1,4 +1,4 @@ -From ec30e84671aac9a2e9549754eb7bc6201728db4c Mon Sep 17 00:00:00 2001 +From 1a991cbedf8647d5a1e7c312614f7867c3940968 Mon Sep 17 00:00:00 2001 From: Jerome Forissier Date: Tue, 23 Aug 2022 12:31:46 +0000 Subject: [PATCH] arm32: libutils, libutee, ta: add .note.GNU-stack section to @@ -24,7 +24,6 @@ Signed-off-by: Jerome Forissier Signed-off-by: Anton Antonov Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499] - --- lib/libutee/arch/arm/utee_syscalls_a32.S | 2 ++ lib/libutils/ext/arch/arm/atomic_a32.S | 2 ++ @@ -36,7 +35,7 @@ Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499] 7 files changed, 14 insertions(+) diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S -index 6e621ca6..af405f62 100644 +index 6e621ca6e06d..af405f62723c 100644 --- a/lib/libutee/arch/arm/utee_syscalls_a32.S +++ b/lib/libutee/arch/arm/utee_syscalls_a32.S @@ -7,6 +7,8 @@ @@ -49,7 +48,7 @@ index 6e621ca6..af405f62 100644 .balign 4 .code 32 diff --git a/lib/libutils/ext/arch/arm/atomic_a32.S b/lib/libutils/ext/arch/arm/atomic_a32.S -index eaef6914..2be73ffa 100644 +index eaef6914734e..2be73ffadcc9 100644 --- a/lib/libutils/ext/arch/arm/atomic_a32.S +++ b/lib/libutils/ext/arch/arm/atomic_a32.S @@ -5,6 +5,8 @@ @@ -62,7 +61,7 @@ index eaef6914..2be73ffa 100644 FUNC atomic_inc32 , : ldrex r1, [r0] diff --git a/lib/libutils/ext/arch/arm/mcount_a32.S b/lib/libutils/ext/arch/arm/mcount_a32.S -index 51439a23..54dc3c02 100644 +index 51439a23014e..54dc3c02da66 100644 --- a/lib/libutils/ext/arch/arm/mcount_a32.S +++ b/lib/libutils/ext/arch/arm/mcount_a32.S @@ -7,6 +7,8 @@ @@ -75,7 +74,7 @@ index 51439a23..54dc3c02 100644 * Convert return address to call site address by subtracting the size of the * mcount call instruction (blx __gnu_mcount_nc). diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S -index a600c879..37ae9ec6 100644 +index a600c879668c..37ae9ec6f9f1 100644 --- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S +++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S @@ -5,6 +5,8 @@ @@ -88,7 +87,7 @@ index a600c879..37ae9ec6 100644 * signed ret_idivmod_values(signed quot, signed rem); * return quotient and remaining the EABI way (regs r0,r1) diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S -index 2dc50bc9..5c3353e2 100644 +index 2dc50bc98bbf..5c3353e2c1ba 100644 --- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S +++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S @@ -5,6 +5,8 @@ @@ -101,7 +100,7 @@ index 2dc50bc9..5c3353e2 100644 * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d) */ diff --git a/lib/libutils/isoc/arch/arm/setjmp_a32.S b/lib/libutils/isoc/arch/arm/setjmp_a32.S -index 43ea5937..f8a0b70d 100644 +index 43ea593758c9..f8a0b70df705 100644 --- a/lib/libutils/isoc/arch/arm/setjmp_a32.S +++ b/lib/libutils/isoc/arch/arm/setjmp_a32.S @@ -51,6 +51,8 @@ @@ -114,7 +113,7 @@ index 43ea5937..f8a0b70d 100644 The interworking scheme expects functions to use a BX instruction diff --git a/ta/arch/arm/ta_entry_a32.S b/ta/arch/arm/ta_entry_a32.S -index d2f8a69d..cd9a12f9 100644 +index d2f8a69daa7f..cd9a12f9dbf9 100644 --- a/ta/arch/arm/ta_entry_a32.S +++ b/ta/arch/arm/ta_entry_a32.S @@ -5,6 +5,8 @@ diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch index ab4a6dbc..54b667a6 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch @@ -1,4 +1,4 @@ -From 528aeb42652a3159c1bfd51d6c1442c3ff27b84c Mon Sep 17 00:00:00 2001 +From 843eb2ef918d5ae3d09de088110cb026ca25306b Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 26 May 2020 14:38:02 -0500 Subject: [PATCH] allow setting sysroot for libgcc lookup @@ -9,13 +9,12 @@ otherwise. Upstream-Status: Pending [https://github.com/OP-TEE/optee_os/issues/4188] Signed-off-by: Ross Burton - --- mk/gcc.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mk/gcc.mk b/mk/gcc.mk -index adc77a24..81bfa78a 100644 +index adc77a24f25e..81bfa78ad8d7 100644 --- a/mk/gcc.mk +++ b/mk/gcc.mk @@ -13,11 +13,11 @@ nostdinc$(sm) := -nostdinc -isystem $(shell $(CC$(sm)) \ diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0002-optee-enable-clang-support.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0002-optee-enable-clang-support.patch index af0ec94f..b3e30980 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0002-optee-enable-clang-support.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0002-optee-enable-clang-support.patch @@ -1,4 +1,4 @@ -From 8846ab2b37781364088cc5c02b6bc6f518a66a0a Mon Sep 17 00:00:00 2001 +From 0ca5ef7c8256dbd9690a01a82397bc16a123e179 Mon Sep 17 00:00:00 2001 From: Brett Warren Date: Wed, 23 Sep 2020 09:27:34 +0100 Subject: [PATCH] optee: enable clang support @@ -10,13 +10,12 @@ compiler-rt. This is mitigated by including the variable as ammended. Upstream-Status: Pending ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701 Signed-off-by: Brett Warren - --- mk/clang.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/clang.mk b/mk/clang.mk -index a045beee..1ebe2f70 100644 +index a045beee8482..1ebe2f702dcd 100644 --- a/mk/clang.mk +++ b/mk/clang.mk @@ -30,7 +30,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \ diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0003-core-link-add-no-warn-rwx-segments.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0003-core-link-add-no-warn-rwx-segments.patch index 5740461f..5d4191ff 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0003-core-link-add-no-warn-rwx-segments.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0003-core-link-add-no-warn-rwx-segments.patch @@ -1,4 +1,4 @@ -From 188a39b139e0e2ccceb22bcf63559b451f0483e0 Mon Sep 17 00:00:00 2001 +From 741df4df0ec7b69b0573cff265dc1ae7cb70b55c Mon Sep 17 00:00:00 2001 From: Jerome Forissier Date: Fri, 5 Aug 2022 09:48:03 +0200 Subject: [PATCH] core: link: add --no-warn-rwx-segments @@ -18,13 +18,12 @@ Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448 Reported-by: Dominique Martinet Signed-off-by: Jerome Forissier Acked-by: Jens Wiklander - --- core/arch/arm/kernel/link.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk -index 0e96e606..3fbcb680 100644 +index 0e96e606cd9d..3fbcb6804c6f 100644 --- a/core/arch/arm/kernel/link.mk +++ b/core/arch/arm/kernel/link.mk @@ -37,6 +37,7 @@ link-ldflags += --sort-section=alignment diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0004-core-Define-section-attributes-for-clang.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0004-core-Define-section-attributes-for-clang.patch index f94d19ff..6229be99 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0004-core-Define-section-attributes-for-clang.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0004-core-Define-section-attributes-for-clang.patch @@ -1,4 +1,4 @@ -From e74d8a02edd8c431c87786e22dbceee8e1e85bb8 Mon Sep 17 00:00:00 2001 +From 162493e5b212b9d7391669a55be09b69b97a9cf8 Mon Sep 17 00:00:00 2001 From: Emekcan Aras Date: Wed, 21 Dec 2022 10:55:58 +0000 Subject: [PATCH] core: Define section attributes for clang @@ -30,7 +30,6 @@ going and match the functionality with gcc. Upstream-Status: Pending Signed-off-by: Khem Raj - --- core/arch/arm/kernel/thread.c | 19 +++++++++++++++-- core/arch/arm/mm/core_mmu_lpae.c | 35 +++++++++++++++++++++++++++---- @@ -40,7 +39,7 @@ Signed-off-by: Khem Raj 5 files changed, 104 insertions(+), 11 deletions(-) diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c -index 1cf76a0c..1e7f9f96 100644 +index 1cf76a0ca690..1e7f9f96b558 100644 --- a/core/arch/arm/kernel/thread.c +++ b/core/arch/arm/kernel/thread.c @@ -44,15 +44,30 @@ static size_t thread_user_kcode_size __nex_bss; @@ -77,7 +76,7 @@ index 1cf76a0c..1e7f9f96 100644 #ifdef ARM32 diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c -index 3f08eec6..e6dc9261 100644 +index 3f08eec623f3..e6dc9261c41e 100644 --- a/core/arch/arm/mm/core_mmu_lpae.c +++ b/core/arch/arm/mm/core_mmu_lpae.c @@ -233,19 +233,46 @@ typedef uint16_t l1_idx_t; @@ -132,7 +131,7 @@ index 3f08eec6..e6dc9261 100644 * TAs page table entry inside a level 1 page table. * diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c -index cd85bd22..3e18f54f 100644 +index cd85bd22d385..3e18f54f6cf8 100644 --- a/core/arch/arm/mm/core_mmu_v7.c +++ b/core/arch/arm/mm/core_mmu_v7.c @@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES]; @@ -186,7 +185,7 @@ index cd85bd22..3e18f54f 100644 struct mmu_partition { l1_xlat_tbl_t *l1_table; diff --git a/core/arch/arm/mm/pgt_cache.c b/core/arch/arm/mm/pgt_cache.c -index 79553c6d..b9efdf42 100644 +index 79553c6d2183..b9efdf42780b 100644 --- a/core/arch/arm/mm/pgt_cache.c +++ b/core/arch/arm/mm/pgt_cache.c @@ -410,8 +410,18 @@ void pgt_init(void) @@ -210,7 +209,7 @@ index 79553c6d..b9efdf42 100644 for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) { diff --git a/core/kernel/thread.c b/core/kernel/thread.c -index d1f2f382..8de124ae 100644 +index d1f2f3823be7..8de124ae5357 100644 --- a/core/kernel/thread.c +++ b/core/kernel/thread.c @@ -38,13 +38,24 @@ struct thread_core_local thread_core_local[CFG_TEE_CORE_NB_CORE] __nex_bss; diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch index 4313a829..381cad9a 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch @@ -1,7 +1,7 @@ -From 11f4ea86579bc1a58e4adde2849326f4213694f2 Mon Sep 17 00:00:00 2001 +From d0e32b6e202cde672c2b38dc568122a52be716b4 Mon Sep 17 00:00:00 2001 From: Jens Wiklander Date: Mon, 21 Nov 2022 18:17:33 +0100 -Subject: core: arm: S-EL1 SPMC: boot ABI update +Subject: [PATCH] core: arm: S-EL1 SPMC: boot ABI update Updates the boot ABI for S-EL1 SPMC to align better with other SPMCs, like Hafnium, but also with the non-FF-A configuration. @@ -30,7 +30,7 @@ Signed-off-by: Jens Wiklander 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/core/arch/arm/kernel/boot.c b/core/arch/arm/kernel/boot.c -index dd34173e8..e02c02b60 100644 +index dd34173e838d..e02c02b6097d 100644 --- a/core/arch/arm/kernel/boot.c +++ b/core/arch/arm/kernel/boot.c @@ -1502,11 +1502,17 @@ struct ns_entry_context *boot_core_hpen(void) @@ -53,7 +53,7 @@ index dd34173e8..e02c02b60 100644 DMSG("Bad fdt: %d", rc); goto err; diff --git a/core/arch/arm/kernel/entry_a64.S b/core/arch/arm/kernel/entry_a64.S -index 4c6e9d75c..047ae1f25 100644 +index 4c6e9d75ca45..047ae1f25cc9 100644 --- a/core/arch/arm/kernel/entry_a64.S +++ b/core/arch/arm/kernel/entry_a64.S @@ -143,21 +143,20 @@ @@ -86,6 +86,3 @@ index 4c6e9d75c..047ae1f25 100644 #endif adr x0, reset_vect_table --- -2.39.1.windows.1 - diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0006-core-ffa-add-TOS_FW_CONFIG-handling.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0006-core-ffa-add-TOS_FW_CONFIG-handling.patch index add39076..5421b10e 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0006-core-ffa-add-TOS_FW_CONFIG-handling.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0006-core-ffa-add-TOS_FW_CONFIG-handling.patch @@ -1,7 +1,7 @@ -From 84f4ef4c4f2f45e2f54597f1afe80d8f8396cc57 Mon Sep 17 00:00:00 2001 +From 9da324001fd93e1b3d9bca076e4afddbb5cac289 Mon Sep 17 00:00:00 2001 From: Balint Dobszay Date: Fri, 10 Feb 2023 11:07:27 +0100 -Subject: core: ffa: add TOS_FW_CONFIG handling +Subject: [PATCH] core: ffa: add TOS_FW_CONFIG handling At boot TF-A passes two DT addresses (HW_CONFIG and TOS_FW_CONFIG), but currently only the HW_CONFIG address is saved, the other one is dropped. @@ -23,7 +23,7 @@ Signed-off-by: Balint Dobszay 6 files changed, 81 insertions(+), 8 deletions(-) diff --git a/core/arch/arm/kernel/boot.c b/core/arch/arm/kernel/boot.c -index e02c02b60..98e13c072 100644 +index e02c02b6097d..98e13c072d8e 100644 --- a/core/arch/arm/kernel/boot.c +++ b/core/arch/arm/kernel/boot.c @@ -1,6 +1,7 @@ @@ -118,7 +118,7 @@ index e02c02b60..98e13c072 100644 update_external_dt(); configure_console_from_dt(); diff --git a/core/arch/arm/kernel/entry_a32.S b/core/arch/arm/kernel/entry_a32.S -index 0f14ca2f6..3758fd8b7 100644 +index 0f14ca2f6ad9..3758fd8b7674 100644 --- a/core/arch/arm/kernel/entry_a32.S +++ b/core/arch/arm/kernel/entry_a32.S @@ -1,7 +1,7 @@ @@ -139,7 +139,7 @@ index 0f14ca2f6..3758fd8b7 100644 #ifndef CFG_VIRTUALIZATION mov r0, #THREAD_CLF_TMP diff --git a/core/arch/arm/kernel/entry_a64.S b/core/arch/arm/kernel/entry_a64.S -index 047ae1f25..fa76437fb 100644 +index 047ae1f25cc9..fa76437fb73c 100644 --- a/core/arch/arm/kernel/entry_a64.S +++ b/core/arch/arm/kernel/entry_a64.S @@ -1,7 +1,7 @@ @@ -178,7 +178,7 @@ index 047ae1f25..fa76437fb 100644 #ifdef CFG_CORE_PAUTH init_pauth_per_cpu diff --git a/core/arch/arm/kernel/link_dummies_paged.c b/core/arch/arm/kernel/link_dummies_paged.c -index 3b8287e06..023a5f3f5 100644 +index 3b8287e06a11..023a5f3f558b 100644 --- a/core/arch/arm/kernel/link_dummies_paged.c +++ b/core/arch/arm/kernel/link_dummies_paged.c @@ -1,6 +1,7 @@ @@ -200,7 +200,7 @@ index 3b8287e06..023a5f3f5 100644 } diff --git a/core/arch/arm/kernel/secure_partition.c b/core/arch/arm/kernel/secure_partition.c -index 1d36e90b1..d386f1e4d 100644 +index 1d36e90b1cf7..d386f1e4d211 100644 --- a/core/arch/arm/kernel/secure_partition.c +++ b/core/arch/arm/kernel/secure_partition.c @@ -1212,7 +1212,7 @@ static TEE_Result fip_sp_map_all(void) @@ -213,7 +213,7 @@ index 1d36e90b1..d386f1e4d 100644 EMSG("No SPMC manifest found"); return TEE_ERROR_GENERIC; diff --git a/core/include/kernel/boot.h b/core/include/kernel/boot.h -index 260854473..941e093b2 100644 +index 260854473b8b..941e093b29a1 100644 --- a/core/include/kernel/boot.h +++ b/core/include/kernel/boot.h @@ -1,7 +1,7 @@ @@ -244,6 +244,3 @@ index 260854473..941e093b2 100644 /* * get_aslr_seed() - return a random seed for core ASLR * @fdt: Pointer to a device tree if CFG_DT_ADDR=y --- -2.39.1.windows.1 - diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0007-core-spmc-handle-non-secure-interrupts.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0007-core-spmc-handle-non-secure-interrupts.patch index 28d1f03c..94c1e049 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0007-core-spmc-handle-non-secure-interrupts.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0007-core-spmc-handle-non-secure-interrupts.patch @@ -1,4 +1,4 @@ -From f4b4f5bccc1be9a709008cc8e6107302745796c8 Mon Sep 17 00:00:00 2001 +From 18ad0cce24addd45271edf3172ab9ce873186d7a Mon Sep 17 00:00:00 2001 From: Imre Kis Date: Tue, 18 Apr 2023 16:41:51 +0200 Subject: [PATCH] core: spmc: handle non-secure interrupts @@ -18,7 +18,6 @@ Upstream-Status: Submitted [https://github.com/OP-TEE/optee_os/pull/6002] Signed-off-by: Imre Kis Change-Id: I577ebe86d416ee494963216a66a3bfc8206921b4 - --- core/arch/arm/include/ffa.h | 2 +- .../arch/arm/include/kernel/spmc_sp_handler.h | 11 +++++++ @@ -30,7 +29,7 @@ Change-Id: I577ebe86d416ee494963216a66a3bfc8206921b4 7 files changed, 122 insertions(+), 2 deletions(-) diff --git a/core/arch/arm/include/ffa.h b/core/arch/arm/include/ffa.h -index 5a19fb0c..b3d1d354 100644 +index 5a19fb0c7ff3..b3d1d354735d 100644 --- a/core/arch/arm/include/ffa.h +++ b/core/arch/arm/include/ffa.h @@ -50,7 +50,7 @@ @@ -43,7 +42,7 @@ index 5a19fb0c..b3d1d354 100644 #define FFA_MSG_SEND_DIRECT_REQ_32 U(0x8400006F) #define FFA_MSG_SEND_DIRECT_REQ_64 U(0xC400006F) diff --git a/core/arch/arm/include/kernel/spmc_sp_handler.h b/core/arch/arm/include/kernel/spmc_sp_handler.h -index f5bda7bf..30c1e469 100644 +index f5bda7bfe7d0..30c1e4691273 100644 --- a/core/arch/arm/include/kernel/spmc_sp_handler.h +++ b/core/arch/arm/include/kernel/spmc_sp_handler.h @@ -25,6 +25,8 @@ void spmc_sp_start_thread(struct thread_smc_args *args); @@ -72,7 +71,7 @@ index f5bda7bf..30c1e469 100644 #endif /* __KERNEL_SPMC_SP_HANDLER_H */ diff --git a/core/arch/arm/kernel/secure_partition.c b/core/arch/arm/kernel/secure_partition.c -index 1d36e90b..6e351e43 100644 +index d386f1e4d211..740be6d22e47 100644 --- a/core/arch/arm/kernel/secure_partition.c +++ b/core/arch/arm/kernel/secure_partition.c @@ -999,6 +999,8 @@ static TEE_Result sp_enter_invoke_cmd(struct ts_session *s, @@ -109,7 +108,7 @@ index 1d36e90b..6e351e43 100644 thread_user_clear_vfp(&ctx->uctx); diff --git a/core/arch/arm/kernel/spmc_sp_handler.c b/core/arch/arm/kernel/spmc_sp_handler.c -index 5d3326fc..f4c7ff81 100644 +index 46a15646ecf0..12681151a796 100644 --- a/core/arch/arm/kernel/spmc_sp_handler.c +++ b/core/arch/arm/kernel/spmc_sp_handler.c @@ -366,6 +366,32 @@ cleanup: @@ -146,7 +145,7 @@ index 5d3326fc..f4c7ff81 100644 { return rxtx && rxtx->rx && rxtx->tx && rxtx->size > 0; diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c -index 1e7f9f96..8cd4dc96 100644 +index 1e7f9f96b558..8cd4dc961b02 100644 --- a/core/arch/arm/kernel/thread.c +++ b/core/arch/arm/kernel/thread.c @@ -531,6 +531,13 @@ int thread_state_suspend(uint32_t flags, uint32_t cpsr, vaddr_t pc) @@ -164,7 +163,7 @@ index 1e7f9f96..8cd4dc96 100644 if (IS_ENABLED(CFG_VIRTUALIZATION)) diff --git a/core/arch/arm/kernel/thread_spmc.c b/core/arch/arm/kernel/thread_spmc.c -index 3b4ac0b4..bc4e7687 100644 +index 3b4ac0b4e35c..bc4e7687d618 100644 --- a/core/arch/arm/kernel/thread_spmc.c +++ b/core/arch/arm/kernel/thread_spmc.c @@ -45,7 +45,7 @@ struct mem_frag_state { @@ -220,7 +219,7 @@ index 3b4ac0b4..bc4e7687 100644 case FFA_INTERRUPT: itr_core_handler(); diff --git a/core/arch/arm/kernel/thread_spmc_a64.S b/core/arch/arm/kernel/thread_spmc_a64.S -index 21cb6251..7297005a 100644 +index 21cb62513a42..7297005a6038 100644 --- a/core/arch/arm/kernel/thread_spmc_a64.S +++ b/core/arch/arm/kernel/thread_spmc_a64.S @@ -14,6 +14,20 @@ @@ -274,6 +273,3 @@ index 21cb6251..7297005a 100644 mov x2, #FFA_PARAM_MBZ mov w3, #FFA_PARAM_MBZ mov w4, #OPTEE_FFA_YIELDING_CALL_RETURN_INTERRUPT - --- -2.17.1 diff --git a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0008-core-spmc-configure-SP-s-NS-interrupt-action-based-o.patch b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0008-core-spmc-configure-SP-s-NS-interrupt-action-based-o.patch index 6b502d78..9f7d781e 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0008-core-spmc-configure-SP-s-NS-interrupt-action-based-o.patch +++ b/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0008-core-spmc-configure-SP-s-NS-interrupt-action-based-o.patch @@ -1,8 +1,8 @@ -From cad33cffb5be17fc0654aaf03c4d5227ae682e7a Mon Sep 17 00:00:00 2001 +From e7835c526aabd8e5b6db335619a0d86165c587ed Mon Sep 17 00:00:00 2001 From: Imre Kis Date: Tue, 25 Apr 2023 14:19:14 +0200 -Subject: [PATCH] core: spmc: configure SP's NS interrupt action based on - the manifest +Subject: [PATCH] core: spmc: configure SP's NS interrupt action based on the + manifest Used mandatory ns-interrupts-action SP manifest property to configure signaled or queued non-secure interrupt handling. @@ -17,7 +17,7 @@ Change-Id: I843e69e5dbb9613ecd8b95654e8ca1730a594ca6 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/core/arch/arm/include/kernel/secure_partition.h b/core/arch/arm/include/kernel/secure_partition.h -index 290750936..3bf339d3c 100644 +index 24b0a8cc07d2..51f6b697e5eb 100644 --- a/core/arch/arm/include/kernel/secure_partition.h +++ b/core/arch/arm/include/kernel/secure_partition.h @@ -43,6 +43,8 @@ struct sp_session { @@ -30,7 +30,7 @@ index 290750936..3bf339d3c 100644 }; diff --git a/core/arch/arm/kernel/secure_partition.c b/core/arch/arm/kernel/secure_partition.c -index 52365553b..e54069c17 100644 +index 740be6d22e47..b644e1c72e6a 100644 --- a/core/arch/arm/kernel/secure_partition.c +++ b/core/arch/arm/kernel/secure_partition.c @@ -46,6 +46,10 @@ @@ -146,5 +146,3 @@ index 52365553b..e54069c17 100644 /* Restore rpc_target_info */ thread_get_tsd()->rpc_target_info = rpc_target_info; --- -2.17.1 diff --git a/meta-arm-bsp/recipes-security/optee/optee-os_3.18.0.bb b/meta-arm-bsp/recipes-security/optee/optee-os_3.18.0.bb index 17f2e795..6e1e6ad4 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os_3.18.0.bb +++ b/meta-arm-bsp/recipes-security/optee/optee-os_3.18.0.bb @@ -2,10 +2,13 @@ require recipes-security/optee/optee-os.inc DEPENDS += "dtc-native" -FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os-3.18.0:" +FILESEXTRAPATHS:prepend := "${THISDIR}/${P}:" SRCREV = "1ee647035939e073a2e8dddb727c0f019cc035f1" SRC_URI += " \ + file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \ + file://0002-optee-enable-clang-support.patch \ + file://0003-core-link-add-no-warn-rwx-segments.patch \ file://0004-core-Define-section-attributes-for-clang.patch \ file://0005-core-ldelf-link-add-z-execstack.patch \ file://0006-arm32-libutils-libutee-ta-add-.note.GNU-stack-sectio.patch \ diff --git a/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bb b/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bb index 590d1327..0f3e58de 100644 --- a/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bb +++ b/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bb @@ -2,10 +2,13 @@ require recipes-security/optee/optee-os.inc DEPENDS += "dtc-native" -FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os-3.20.0:" +FILESEXTRAPATHS:prepend := "${THISDIR}/${P}:" SRCREV = "8e74d47616a20eaa23ca692f4bbbf917a236ed94" SRC_URI += " \ + file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \ + file://0002-optee-enable-clang-support.patch \ + file://0003-core-link-add-no-warn-rwx-segments.patch \ file://0004-core-Define-section-attributes-for-clang.patch \ file://0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch \ file://0006-core-ffa-add-TOS_FW_CONFIG-handling.patch \ diff --git a/meta-arm/recipes-security/optee/optee-os-3.22.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch b/meta-arm/recipes-security/optee/optee-os-3.22.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch index ab4a6dbc..392e8d82 100644 --- a/meta-arm/recipes-security/optee/optee-os-3.22.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch +++ b/meta-arm/recipes-security/optee/optee-os-3.22.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch @@ -1,4 +1,4 @@ -From 528aeb42652a3159c1bfd51d6c1442c3ff27b84c Mon Sep 17 00:00:00 2001 +From 02ea8e616ac615efe3507d627dfba9820d3357f6 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 26 May 2020 14:38:02 -0500 Subject: [PATCH] allow setting sysroot for libgcc lookup @@ -9,13 +9,12 @@ otherwise. Upstream-Status: Pending [https://github.com/OP-TEE/optee_os/issues/4188] Signed-off-by: Ross Burton - --- mk/gcc.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mk/gcc.mk b/mk/gcc.mk -index adc77a24..81bfa78a 100644 +index adc77a24f25e..81bfa78ad8d7 100644 --- a/mk/gcc.mk +++ b/mk/gcc.mk @@ -13,11 +13,11 @@ nostdinc$(sm) := -nostdinc -isystem $(shell $(CC$(sm)) \ diff --git a/meta-arm/recipes-security/optee/optee-os-3.22.0/0001-core-Define-section-attributes-for-clang.patch b/meta-arm/recipes-security/optee/optee-os-3.22.0/0002-core-Define-section-attributes-for-clang.patch similarity index 96% rename from meta-arm/recipes-security/optee/optee-os-3.22.0/0001-core-Define-section-attributes-for-clang.patch rename to meta-arm/recipes-security/optee/optee-os-3.22.0/0002-core-Define-section-attributes-for-clang.patch index 1fcc2fb9..15bdf07d 100644 --- a/meta-arm/recipes-security/optee/optee-os-3.22.0/0001-core-Define-section-attributes-for-clang.patch +++ b/meta-arm/recipes-security/optee/optee-os-3.22.0/0002-core-Define-section-attributes-for-clang.patch @@ -1,4 +1,4 @@ -From 2449af30e09e172216ec9aa8b07502ae9ddc0a03 Mon Sep 17 00:00:00 2001 +From 6f588813a170a671ebf1d6b51cebc7bc761295dc Mon Sep 17 00:00:00 2001 From: Emekcan Aras Date: Wed, 21 Dec 2022 10:55:58 +0000 Subject: [PATCH] core: Define section attributes for clang @@ -39,7 +39,7 @@ Signed-off-by: Khem Raj 5 files changed, 104 insertions(+), 11 deletions(-) diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c -index 4487ef026..f36243896 100644 +index 4487ef026df9..f3624389611b 100644 --- a/core/arch/arm/kernel/thread.c +++ b/core/arch/arm/kernel/thread.c @@ -44,15 +44,30 @@ static size_t thread_user_kcode_size __nex_bss; @@ -76,7 +76,7 @@ index 4487ef026..f36243896 100644 #ifdef ARM32 diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c -index 7e79f780a..ec4db9dc9 100644 +index 7e79f780ad28..ec4db9dc98c5 100644 --- a/core/arch/arm/mm/core_mmu_lpae.c +++ b/core/arch/arm/mm/core_mmu_lpae.c @@ -233,19 +233,46 @@ typedef uint16_t l1_idx_t; @@ -131,7 +131,7 @@ index 7e79f780a..ec4db9dc9 100644 * TAs page table entry inside a level 1 page table. * diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c -index 61e703da8..1960c08ca 100644 +index 61e703da89c8..1960c08ca688 100644 --- a/core/arch/arm/mm/core_mmu_v7.c +++ b/core/arch/arm/mm/core_mmu_v7.c @@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES]; @@ -185,7 +185,7 @@ index 61e703da8..1960c08ca 100644 struct mmu_partition { l1_xlat_tbl_t *l1_table; diff --git a/core/arch/arm/mm/pgt_cache.c b/core/arch/arm/mm/pgt_cache.c -index 79553c6d2..b9efdf427 100644 +index 79553c6d2183..b9efdf42780b 100644 --- a/core/arch/arm/mm/pgt_cache.c +++ b/core/arch/arm/mm/pgt_cache.c @@ -410,8 +410,18 @@ void pgt_init(void) @@ -209,7 +209,7 @@ index 79553c6d2..b9efdf427 100644 for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) { diff --git a/core/kernel/thread.c b/core/kernel/thread.c -index 2a1f22dce..5516b6771 100644 +index 2a1f22dce635..5516b677141a 100644 --- a/core/kernel/thread.c +++ b/core/kernel/thread.c @@ -39,13 +39,24 @@ static uint32_t end_canary_value = 0xababab00; diff --git a/meta-arm/recipes-security/optee/optee-os-3.22.0/0002-optee-enable-clang-support.patch b/meta-arm/recipes-security/optee/optee-os-3.22.0/0003-optee-enable-clang-support.patch similarity index 91% rename from meta-arm/recipes-security/optee/optee-os-3.22.0/0002-optee-enable-clang-support.patch rename to meta-arm/recipes-security/optee/optee-os-3.22.0/0003-optee-enable-clang-support.patch index af0ec94f..b4ea8ed3 100644 --- a/meta-arm/recipes-security/optee/optee-os-3.22.0/0002-optee-enable-clang-support.patch +++ b/meta-arm/recipes-security/optee/optee-os-3.22.0/0003-optee-enable-clang-support.patch @@ -1,4 +1,4 @@ -From 8846ab2b37781364088cc5c02b6bc6f518a66a0a Mon Sep 17 00:00:00 2001 +From 9c55b7a4e39617c2abbf4e0e39fd8041c7b2b9b6 Mon Sep 17 00:00:00 2001 From: Brett Warren Date: Wed, 23 Sep 2020 09:27:34 +0100 Subject: [PATCH] optee: enable clang support @@ -10,13 +10,12 @@ compiler-rt. This is mitigated by including the variable as ammended. Upstream-Status: Pending ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701 Signed-off-by: Brett Warren - --- mk/clang.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/clang.mk b/mk/clang.mk -index a045beee..1ebe2f70 100644 +index a045beee8482..1ebe2f702dcd 100644 --- a/mk/clang.mk +++ b/mk/clang.mk @@ -30,7 +30,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \ diff --git a/meta-arm/recipes-security/optee/optee-os-3.22.0/0003-core-link-add-no-warn-rwx-segments.patch b/meta-arm/recipes-security/optee/optee-os-3.22.0/0004-core-link-add-no-warn-rwx-segments.patch similarity index 96% rename from meta-arm/recipes-security/optee/optee-os-3.22.0/0003-core-link-add-no-warn-rwx-segments.patch rename to meta-arm/recipes-security/optee/optee-os-3.22.0/0004-core-link-add-no-warn-rwx-segments.patch index 5740461f..d418d461 100644 --- a/meta-arm/recipes-security/optee/optee-os-3.22.0/0003-core-link-add-no-warn-rwx-segments.patch +++ b/meta-arm/recipes-security/optee/optee-os-3.22.0/0004-core-link-add-no-warn-rwx-segments.patch @@ -1,4 +1,4 @@ -From 188a39b139e0e2ccceb22bcf63559b451f0483e0 Mon Sep 17 00:00:00 2001 +From 3e191f732b3eba699b91ffd7ffa2ae0787f08947 Mon Sep 17 00:00:00 2001 From: Jerome Forissier Date: Fri, 5 Aug 2022 09:48:03 +0200 Subject: [PATCH] core: link: add --no-warn-rwx-segments @@ -18,13 +18,12 @@ Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448 Reported-by: Dominique Martinet Signed-off-by: Jerome Forissier Acked-by: Jens Wiklander - --- core/arch/arm/kernel/link.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk -index 0e96e606..3fbcb680 100644 +index 49e9f4fa18a5..9e1cc172fb8a 100644 --- a/core/arch/arm/kernel/link.mk +++ b/core/arch/arm/kernel/link.mk @@ -37,6 +37,7 @@ link-ldflags += --sort-section=alignment diff --git a/meta-arm/recipes-security/optee/optee-os.inc b/meta-arm/recipes-security/optee/optee-os.inc index ad97316b..8e25d361 100644 --- a/meta-arm/recipes-security/optee/optee-os.inc +++ b/meta-arm/recipes-security/optee/optee-os.inc @@ -16,12 +16,6 @@ DEPENDS:append:toolchain-clang = " compiler-rt" SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https" -SRC_URI += " \ - file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \ - file://0002-optee-enable-clang-support.patch \ - file://0003-core-link-add-no-warn-rwx-segments.patch \ - " - S = "${WORKDIR}/git" B = "${WORKDIR}/build" diff --git a/meta-arm/recipes-security/optee/optee-os_3.22.0.bb b/meta-arm/recipes-security/optee/optee-os_3.22.0.bb index 7be0c45b..eba2c037 100644 --- a/meta-arm/recipes-security/optee/optee-os_3.22.0.bb +++ b/meta-arm/recipes-security/optee/optee-os_3.22.0.bb @@ -2,9 +2,12 @@ require optee-os.inc DEPENDS += "dtc-native" -FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os-3.22.0:" +FILESEXTRAPATHS:prepend := "${THISDIR}/${P}:" SRCREV = "001ace6655dd6bb9cbe31aa31b4ba69746e1a1d9" SRC_URI += " \ - file://0001-core-Define-section-attributes-for-clang.patch \ + file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \ + file://0002-core-Define-section-attributes-for-clang.patch \ + file://0003-optee-enable-clang-support.patch \ + file://0004-core-link-add-no-warn-rwx-segments.patch \ " diff --git a/meta-arm/recipes-security/optee/optee-test/Update-arm_ffa_user-driver-dependency.patch b/meta-arm/recipes-security/optee/optee-test/Update-arm_ffa_user-driver-dependency.patch deleted file mode 100644 index e889f740..00000000 --- a/meta-arm/recipes-security/optee/optee-test/Update-arm_ffa_user-driver-dependency.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7e15470f3dd45c844f0e0901f0c85c46a0882b8b Mon Sep 17 00:00:00 2001 -From: Gabor Toth -Date: Fri, 3 Mar 2023 12:23:45 +0100 -Subject: [PATCH 1/2] Update arm_ffa_user driver dependency - -Updating arm-ffa-user to v5.0.1 to get the following changes: - - move to 64 bit direct messages - - add Linux Kernel v6.1 compatibility -The motivation is to update x-test to depend on the same driver -version as TS uefi-test and thus to enable running these in a single -configuration. -Note: arm_ffa_user.h was copied from: - - URL:https://git.gitlab.arm.com/linux-arm/linux-trusted-services.git - - SHA:18e3be71f65a405dfb5d97603ae71b3c11759861 - -Upstream-Status: Backport - -Signed-off-by: Gabor Toth -Acked-by: Jens Wiklander ---- - host/xtest/include/uapi/linux/arm_ffa_user.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/host/xtest/include/uapi/linux/arm_ffa_user.h b/host/xtest/include/uapi/linux/arm_ffa_user.h -index 9ef0be3..0acde4f 100644 ---- a/host/xtest/include/uapi/linux/arm_ffa_user.h -+++ b/host/xtest/include/uapi/linux/arm_ffa_user.h -@@ -33,7 +33,7 @@ struct ffa_ioctl_ep_desc { - * @dst_id: [in] 16-bit ID of destination endpoint. - */ - struct ffa_ioctl_msg_args { -- __u32 args[5]; -+ __u64 args[5]; - __u16 dst_id; - }; - #define FFA_IOC_MSG_SEND _IOWR(FFA_IOC_MAGIC, FFA_IOC_BASE + 1, \ --- -2.39.1.windows.1 - diff --git a/meta-arm/recipes-security/optee/optee-test/ffa_spmc-Add-arm_ffa_user-driver-compatibility-check.patch b/meta-arm/recipes-security/optee/optee-test/ffa_spmc-Add-arm_ffa_user-driver-compatibility-check.patch deleted file mode 100644 index d333e860..00000000 --- a/meta-arm/recipes-security/optee/optee-test/ffa_spmc-Add-arm_ffa_user-driver-compatibility-check.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 6734d14cc249af37705129de7874533df9535cd3 Mon Sep 17 00:00:00 2001 -From: Gabor Toth -Date: Fri, 3 Mar 2023 12:25:58 +0100 -Subject: [PATCH 2/2] ffa_spmc: Add arm_ffa_user driver compatibility check - -Check the version of the arm_ffa_user Kernel Driver and fail with a -meaningful message if incompatible driver is detected. - -Upstream-Status: Backport - -Signed-off-by: Gabor Toth -Acked-by: Jens Wiklander ---- - host/xtest/ffa_spmc_1000.c | 68 ++++++++++++++++++++++++++++++++++---- - 1 file changed, 61 insertions(+), 7 deletions(-) - -diff --git a/host/xtest/ffa_spmc_1000.c b/host/xtest/ffa_spmc_1000.c -index 15f4a46..1839d03 100644 ---- a/host/xtest/ffa_spmc_1000.c -+++ b/host/xtest/ffa_spmc_1000.c -@@ -1,11 +1,12 @@ - // SPDX-License-Identifier: BSD-3-Clause - /* -- * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved. -+ * Copyright (c) 2022-2023, Arm Limited and Contributors. All rights reserved. - */ - #include - #include - #include - #include -+#include - #include - #include - #include "include/uapi/linux/arm_ffa_user.h" -@@ -17,6 +18,10 @@ - #define INCORRECT_ENDPOINT_ID 0xffff - #define NORMAL_WORLD_ENDPOINT_ID 0 - -+#define FFA_USER_REQ_VER_MAJOR 5 -+#define FFA_USER_REQ_VER_MINOR 0 -+#define FFA_USER_REQ_VER_PATCH 1 -+ - /* Get the 32 least significant bits of a handle.*/ - #define MEM_SHARE_HANDLE_LOW(x) ((x) & 0xffffffff) - /* Get the 32 most significant bits of a handle.*/ -@@ -62,6 +67,50 @@ static struct ffa_ioctl_ep_desc test_endpoint3 = { - .uuid_ptr = (uint64_t)test_endpoint3_uuid, - }; - -+static bool check_ffa_user_version(void) -+{ -+ FILE *f = NULL; -+ int ver_major = -1; -+ int ver_minor = -1; -+ int ver_patch = -1; -+ int scan_cnt = 0; -+ -+ f = fopen("/sys/module/arm_ffa_user/version", "r"); -+ if (f) { -+ scan_cnt = fscanf(f, "%d.%d.%d", -+ &ver_major, &ver_minor, &ver_patch); -+ fclose(f); -+ if (scan_cnt != 3) { -+ printf("error: failed to parse arm_ffa_user version\n"); -+ return false; -+ } -+ } else { -+ printf("error: failed to read arm_ffa_user module info - %s\n", -+ strerror(errno)); -+ return false; -+ } -+ -+ if (ver_major != FFA_USER_REQ_VER_MAJOR) -+ goto err; -+ -+ if (ver_minor < FFA_USER_REQ_VER_MINOR) -+ goto err; -+ -+ if (ver_minor == FFA_USER_REQ_VER_MINOR) -+ if (ver_patch < FFA_USER_REQ_VER_PATCH) -+ goto err; -+ -+ return true; -+ -+err: -+ printf("error: Incompatible arm_ffa_user driver detected."); -+ printf("Found v%d.%d.%d wanted >= v%d.%d.%d)\n", -+ ver_major, ver_minor, ver_patch, FFA_USER_REQ_VER_MAJOR, -+ FFA_USER_REQ_VER_MINOR, FFA_USER_REQ_VER_PATCH); -+ -+ return false; -+} -+ - static void close_debugfs(void) - { - int err = 0; -@@ -76,6 +125,9 @@ static void close_debugfs(void) - - static bool init_sp_xtest(ADBG_Case_t *c) - { -+ if (!check_ffa_user_version()) -+ return false; -+ - if (ffa_fd < 0) { - ffa_fd = open(FFA_DRIVER_FS_PATH, O_RDWR); - if (ffa_fd < 0) { -@@ -83,6 +135,7 @@ static bool init_sp_xtest(ADBG_Case_t *c) - return false; - } - } -+ - return true; - } - -@@ -99,7 +152,7 @@ static uint16_t get_endpoint_id(uint64_t endp) - struct ffa_ioctl_ep_desc sid = { .uuid_ptr = endp }; - - /* Get ID of destination SP based on UUID */ -- if(ioctl(ffa_fd, FFA_IOC_GET_PART_ID, &sid)) -+ if (ioctl(ffa_fd, FFA_IOC_GET_PART_ID, &sid)) - return INCORRECT_ENDPOINT_ID; - - return sid.id; -@@ -213,14 +266,15 @@ static int set_up_mem(struct ffa_ioctl_ep_desc *endp, - rc = share_mem(endpoint, handle); - ADBG_EXPECT_COMPARE_SIGNED(c, rc, ==, 0); - -- if (!ADBG_EXPECT_TRUE(c, handle != NULL)) -- return TEEC_ERROR_GENERIC; -+ if (!ADBG_EXPECT_NOT_NULL(c, handle)) -+ return TEEC_ERROR_GENERIC; - - /* SP will retrieve the memory region. */ - memset(args, 0, sizeof(*args)); - args->dst_id = endpoint; - args->args[MEM_SHARE_HANDLE_LOW_INDEX] = MEM_SHARE_HANDLE_LOW(*handle); -- args->args[MEM_SHARE_HANDLE_HIGH_INDEX] = MEM_SHARE_HANDLE_HIGH(*handle); -+ args->args[MEM_SHARE_HANDLE_HIGH_INDEX] = -+ MEM_SHARE_HANDLE_HIGH(*handle); - args->args[MEM_SHARE_HANDLE_ENDPOINT_INDEX] = NORMAL_WORLD_ENDPOINT_ID; - - rc = start_sp_test(endpoint, EP_RETRIEVE, args); -@@ -254,7 +308,7 @@ static void xtest_ffa_spmc_test_1002(ADBG_Case_t *c) - rc = start_sp_test(endpoint1_id, EP_TEST_SP, &args); - ADBG_EXPECT_COMPARE_SIGNED(c, rc, ==, 0); - if (!ADBG_EXPECT_COMPARE_UNSIGNED(c, args.args[0], ==, SPMC_TEST_OK)) -- goto out; -+ goto out; - - /* Set up memory and have the SP retrieve it. */ - Do_ADBG_BeginSubCase(c, "Test memory set-up"); -@@ -469,7 +523,7 @@ static void xtest_ffa_spmc_test_1005(ADBG_Case_t *c) - memset(&args, 0, sizeof(args)); - args.args[1] = endpoint2; - args.args[2] = endpoint3; -- rc = start_sp_test(endpoint1, EP_SP_MEM_SHARING_MULTI,&args); -+ rc = start_sp_test(endpoint1, EP_SP_MEM_SHARING_MULTI, &args); - ADBG_EXPECT_COMPARE_SIGNED(c, rc, ==, 0); - ADBG_EXPECT_COMPARE_UNSIGNED(c, args.args[0], ==, SPMC_TEST_OK); - --- -2.39.1.windows.1 -