aboutsummaryrefslogtreecommitdiff
path: root/core/arch/arm/tee/entry_fast.c
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2019-04-18 10:04:16 +0200
committerJérôme Forissier <jerome.forissier@linaro.org>2019-05-02 13:58:09 +0200
commit8aeb6c94dd30546ae60b42ce7b8a80476bf9e67f (patch)
tree9f202650e06bca005eb2baf8197c5c4c2a79704b /core/arch/arm/tee/entry_fast.c
parent37a6b717787bf3927f7af379ae66b1b6d0fe2a51 (diff)
core: introduce CFG_CORE_RESERVED_SHM
Introduces CFG_CORE_RESERVED_SHM which if set to y enables reserved shared memory, else disables support for reserved shared memory. Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/arch/arm/tee/entry_fast.c')
-rw-r--r--core/arch/arm/tee/entry_fast.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/core/arch/arm/tee/entry_fast.c b/core/arch/arm/tee/entry_fast.c
index 9876e334..fe0576e2 100644
--- a/core/arch/arm/tee/entry_fast.c
+++ b/core/arch/arm/tee/entry_fast.c
@@ -13,6 +13,7 @@
#include <kernel/misc.h>
#include <mm/core_mmu.h>
+#ifdef CFG_CORE_RESERVED_SHM
static void tee_entry_get_shm_config(struct thread_smc_args *args)
{
args->a0 = OPTEE_SMC_RETURN_OK;
@@ -21,6 +22,7 @@ static void tee_entry_get_shm_config(struct thread_smc_args *args)
/* Should this be TEESMC cache attributes instead? */
args->a3 = core_mmu_is_shm_cached();
}
+#endif
static void tee_entry_fastcall_l2cc_mutex(struct thread_smc_args *args)
{
@@ -82,7 +84,10 @@ static void tee_entry_exchange_capabilities(struct thread_smc_args *args)
}
args->a0 = OPTEE_SMC_RETURN_OK;
- args->a1 = OPTEE_SMC_SEC_CAP_HAVE_RESERVED_SHM;
+ args->a1 = 0;
+#ifdef CFG_CORE_RESERVED_SHM
+ args->a1 |= OPTEE_SMC_SEC_CAP_HAVE_RESERVED_SHM;
+#endif
#if defined(CFG_DYN_SHM_CAP) && defined(CFG_CORE_DYN_SHM)
dyn_shm_en = core_mmu_nsec_ddr_is_defined();
@@ -188,9 +193,11 @@ void tee_entry_fast(struct thread_smc_args *args)
break;
/* OP-TEE specific SMC functions */
+#ifdef CFG_CORE_RESERVED_SHM
case OPTEE_SMC_GET_SHM_CONFIG:
tee_entry_get_shm_config(args);
break;
+#endif
case OPTEE_SMC_L2CC_MUTEX:
tee_entry_fastcall_l2cc_mutex(args);
break;