diff options
-rw-r--r-- | core/arch/arm/tee/arch_svc.c | 2 | ||||
-rw-r--r-- | core/arch/arm/tee/arch_svc_private.h | 7 |
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); |