1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-07-27 07:27:04 +00:00

arm-bsp: tc: use proper UUID in optee and linux kernel

Recently the way of handling Secure Partitions UUID changed in TF-A
and that needs corresponding changes in required components.  Hence
changing them for optee and linux kernel.

Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
This commit is contained in:
Davidson K
2022-01-19 20:15:49 +05:30
committed by Jon Mason
parent 522350ba73
commit 8734d14674
4 changed files with 28 additions and 59 deletions
@@ -272,7 +272,6 @@ SRC_URI:append:tc = " \
file://0017-optee-refactor-driver-with-internal-callbacks.patch \
file://0018-optee-add-a-FF-A-memory-pool.patch \
file://0019-optee-add-FF-A-support.patch \
file://0020-drivers-optee-hack-for-UUID-endianess-issue.patch \
file://0021-arm_ffa-add-support-for-FFA-v1.1.patch \
"
KERNEL_FEATURES:append:tc = " bsp/arm-platforms/tc.scc"
@@ -1,58 +0,0 @@
From 62e38805a966c1bc66a72bcdc83af7031c6a95df Mon Sep 17 00:00:00 2001
From: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Date: Thu, 27 May 2021 13:40:33 +0100
Subject: [PATCH 20/22] drivers: optee: hack for UUID endianess issue
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Change-Id: Id5c42e4fe491a448f746b9d132dae20c85666554
Upstream-Status: Inappropriate [will not be submitted as its only a workaround]
---
drivers/firmware/arm_ffa/driver.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c
index 056a3fca14d1..82c84fe10be2 100644
--- a/drivers/firmware/arm_ffa/driver.c
+++ b/drivers/firmware/arm_ffa/driver.c
@@ -275,8 +275,18 @@ ffa_partition_probe(const uuid_t *uuid, struct ffa_partition_info **buffer)
struct ffa_partition_info *pbuf;
export_uuid((u8 *)uuid0_4, uuid);
+
+#if 0
count = __ffa_partition_info_get(uuid0_4[0], uuid0_4[1], uuid0_4[2],
uuid0_4[3], NULL, 0);
+#else
+ /* hack for optee UUID endianess issue */
+ count = __ffa_partition_info_get(be32_to_cpup(&uuid0_4[0]),
+ be32_to_cpup(&uuid0_4[1]),
+ be32_to_cpup(&uuid0_4[2]),
+ be32_to_cpup(&uuid0_4[3]), NULL, 0);
+#endif
+
if (count <= 0)
return count;
@@ -284,8 +294,17 @@ ffa_partition_probe(const uuid_t *uuid, struct ffa_partition_info **buffer)
if (!pbuf)
return -ENOMEM;
+#if 0
count = __ffa_partition_info_get(uuid0_4[0], uuid0_4[1], uuid0_4[2],
uuid0_4[3], pbuf, count);
+#else
+ /* hack for optee UUID endianess issue */
+ count = __ffa_partition_info_get(be32_to_cpup(&uuid0_4[0]),
+ be32_to_cpup(&uuid0_4[1]),
+ be32_to_cpup(&uuid0_4[2]),
+ be32_to_cpup(&uuid0_4[3]),
+ pbuf, count);
+#endif
if (count <= 0)
kfree(pbuf);
--
2.17.1