aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/arch/arm/tee/arch_svc.c2
-rw-r--r--core/arch/arm/tee/arch_svc_private.h7
2 files changed, 6 insertions, 3 deletions
diff --git a/core/arch/arm/tee/arch_svc.c b/core/arch/arm/tee/arch_svc.c
index eb142ec6..b2dd193c 100644
--- a/core/arch/arm/tee/arch_svc.c
+++ b/core/arch/arm/tee/arch_svc.c
@@ -208,7 +208,7 @@ void __weak tee_svc_handler(struct thread_svc_regs *regs)
}
if (scn > TEE_SCN_MAX)
- scf = syscall_not_supported;
+ scf = (syscall_t)syscall_not_supported;
else
scf = tee_svc_syscall_table[scn].fn;
diff --git a/core/arch/arm/tee/arch_svc_private.h b/core/arch/arm/tee/arch_svc_private.h
index c0b3a738..695e7337 100644
--- a/core/arch/arm/tee/arch_svc_private.h
+++ b/core/arch/arm/tee/arch_svc_private.h
@@ -7,8 +7,11 @@
#include <tee_api_types.h>
-/* void argument but in reality it can be any number of arguments */
-typedef TEE_Result (*syscall_t)(void);
+/*
+ * Generic "pointer to function" type. Actual syscalls take zero or more
+ * arguments and return TEE_Result.
+ */
+typedef void (*syscall_t)(void);
/* Helper function for tee_svc_handler() */
uint32_t tee_svc_do_call(struct thread_svc_regs *regs, syscall_t func);