feat(spm): add FFA_MSG_SEND2 forwarding in SPMD

Add FF-A v1.1 indirect messaging ABI FFA_MSG_SEND2 to SPMD to allow
message forwarding across normal/secure worlds.

Change-Id: I074fbd2e4d13893925f987cee271d49da3aaf64b
Signed-off-by: Federico Recanati <federico.recanati@arm.com>
This commit is contained in:
Federico Recanati 2022-02-03 17:22:37 +01:00
parent b22f18e365
commit c2eba07c47
2 changed files with 6 additions and 8 deletions

View File

@ -116,6 +116,7 @@
#define FFA_MSG_YIELD FFA_FID(SMC_32, FFA_FNUM_MSG_YIELD)
#define FFA_MSG_RUN FFA_FID(SMC_32, FFA_FNUM_MSG_RUN)
#define FFA_MSG_SEND FFA_FID(SMC_32, FFA_FNUM_MSG_SEND)
#define FFA_MSG_SEND2 FFA_FID(SMC_32, FFA_FNUM_MSG_SEND2)
#define FFA_MSG_SEND_DIRECT_REQ_SMC32 \
FFA_FID(SMC_32, FFA_FNUM_MSG_SEND_DIRECT_REQ)
#define FFA_MSG_SEND_DIRECT_RESP_SMC32 \

View File

@ -688,16 +688,13 @@ uint64_t spmd_smc_handler(uint32_t smc_fid,
case FFA_NOTIFICATION_GET:
case FFA_NOTIFICATION_INFO_GET:
case FFA_NOTIFICATION_INFO_GET_SMC64:
case FFA_MSG_SEND2:
#endif
/*
* Above calls should not be forwarded from Secure world to
* Normal world.
*
* Fall through to forward the call to the other world
*/
case FFA_MSG_RUN:
/* This interface must be invoked only by the Normal world */
/*
* Above calls should be invoked only by the Normal world and
* must not be forwarded from Secure world to Normal world.
*/
if (secure_origin) {
return spmd_ffa_error_return(handle,
FFA_ERROR_NOT_SUPPORTED);