|
|
@ -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 */ |
|
|
|