diff options
Diffstat (limited to 'services/spd/trusty')
-rw-r--r-- | services/spd/trusty/smcall.h | 24 | ||||
-rw-r--r-- | services/spd/trusty/trusty.c | 8 |
2 files changed, 16 insertions, 16 deletions
diff --git a/services/spd/trusty/smcall.h b/services/spd/trusty/smcall.h index d0299c7fb..99f1608d3 100644 --- a/services/spd/trusty/smcall.h +++ b/services/spd/trusty/smcall.h @@ -24,9 +24,9 @@ ) #define SMC_FASTCALL_NR(entity, fn) SMC_NR((entity), (fn), 1, 0) -#define SMC_STDCALL_NR(entity, fn) SMC_NR((entity), (fn), 0, 0) #define SMC_FASTCALL64_NR(entity, fn) SMC_NR((entity), (fn), 1, 1) -#define SMC_STDCALL64_NR(entity, fn) SMC_NR((entity), (fn), 0, 1) +#define SMC_YIELDCALL_NR(entity, fn) SMC_NR((entity), (fn), 0, 0) +#define SMC_YIELDCALL64_NR(entity, fn) SMC_NR((entity), (fn), 0, 1) #define SMC_ENTITY_ARCH 0 /* ARM Architecture calls */ #define SMC_ENTITY_CPU 1 /* CPU Service calls */ @@ -39,14 +39,14 @@ #define SMC_ENTITY_LOGGING 51 /* Used for secure -> nonsecure logging */ #define SMC_ENTITY_SECURE_MONITOR 60 /* Trusted OS calls internal to secure monitor */ -/* FC = Fast call, SC = Standard call */ -#define SMC_SC_RESTART_LAST SMC_STDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 0) -#define SMC_SC_NOP SMC_STDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 1) +/* FC = Fast call, YC = Yielding call */ +#define SMC_YC_RESTART_LAST SMC_YIELDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 0) +#define SMC_YC_NOP SMC_YIELDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 1) /* * Return from secure os to non-secure os with return value in r1 */ -#define SMC_SC_NS_RETURN SMC_STDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 0) +#define SMC_YC_NS_RETURN SMC_YIELDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 0) #define SMC_FC_RESERVED SMC_FASTCALL_NR (SMC_ENTITY_SECURE_MONITOR, 0) #define SMC_FC_FIQ_EXIT SMC_FASTCALL_NR (SMC_ENTITY_SECURE_MONITOR, 1) @@ -64,12 +64,12 @@ #define SMC_FC_GET_VERSION_STR SMC_FASTCALL_NR (SMC_ENTITY_SECURE_MONITOR, 10) /* Trusted OS entity calls */ -#define SMC_SC_VIRTIO_GET_DESCR SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 20) -#define SMC_SC_VIRTIO_START SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 21) -#define SMC_SC_VIRTIO_STOP SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 22) +#define SMC_YC_VIRTIO_GET_DESCR SMC_YIELDCALL_NR(SMC_ENTITY_TRUSTED_OS, 20) +#define SMC_YC_VIRTIO_START SMC_YIELDCALL_NR(SMC_ENTITY_TRUSTED_OS, 21) +#define SMC_YC_VIRTIO_STOP SMC_YIELDCALL_NR(SMC_ENTITY_TRUSTED_OS, 22) -#define SMC_SC_VDEV_RESET SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 23) -#define SMC_SC_VDEV_KICK_VQ SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 24) -#define SMC_SC_SET_ROT_PARAMS SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 65535) +#define SMC_YC_VDEV_RESET SMC_YIELDCALL_NR(SMC_ENTITY_TRUSTED_OS, 23) +#define SMC_YC_VDEV_KICK_VQ SMC_YIELDCALL_NR(SMC_ENTITY_TRUSTED_OS, 24) +#define SMC_YC_SET_ROT_PARAMS SMC_YIELDCALL_NR(SMC_ENTITY_TRUSTED_OS, 65535) #endif /* __LIB_SM_SMCALL_H */ diff --git a/services/spd/trusty/trusty.c b/services/spd/trusty/trusty.c index 1968ac451..a95141bff 100644 --- a/services/spd/trusty/trusty.c +++ b/services/spd/trusty/trusty.c @@ -221,14 +221,14 @@ static uint64_t trusty_smc_handler(uint32_t smc_fid, * Verified Boot is not even supported and returning success here * would not compromise the boot process. */ - if (!ep_info && (smc_fid == SMC_SC_SET_ROT_PARAMS)) { + if (!ep_info && (smc_fid == SMC_YC_SET_ROT_PARAMS)) { SMC_RET1(handle, 0); } else if (!ep_info) { SMC_RET1(handle, SMC_UNK); } if (is_caller_secure(flags)) { - if (smc_fid == SMC_SC_NS_RETURN) { + if (smc_fid == SMC_YC_NS_RETURN) { ret = trusty_context_switch(SECURE, x1, 0, 0, 0); SMC_RET8(handle, ret.r0, ret.r1, ret.r2, ret.r3, ret.r4, ret.r5, ret.r6, ret.r7); @@ -424,13 +424,13 @@ DECLARE_RT_SVC( trusty_smc_handler ); -/* Define a SPD runtime service descriptor for standard SMC calls */ +/* Define a SPD runtime service descriptor for yielding SMC calls */ DECLARE_RT_SVC( trusty_std, OEN_TAP_START, SMC_ENTITY_SECURE_MONITOR, - SMC_TYPE_STD, + SMC_TYPE_YIELD, NULL, trusty_smc_handler ); |