Implement FFA_YIELD ABI
This change adds the missing FFA ABI and updates the documentation.
Change-Id: Ia302daf011e58984154ea33760a1912532d0753c
Signed-off-by: Gabor Toth <gabor.toth2@arm.com>
diff --git a/components/messaging/ffa/libsp/ffa.c b/components/messaging/ffa/libsp/ffa.c
index 03431dd..cae246d 100644
--- a/components/messaging/ffa/libsp/ffa.c
+++ b/components/messaging/ffa/libsp/ffa.c
@@ -299,6 +299,22 @@
return FFA_OK;
}
+ffa_result ffa_yield(void)
+{
+ struct ffa_params result = {0};
+
+ ffa_svc(FFA_YIELD, FFA_PARAM_MBZ, FFA_PARAM_MBZ, FFA_PARAM_MBZ,
+ FFA_PARAM_MBZ, FFA_PARAM_MBZ, FFA_PARAM_MBZ, FFA_PARAM_MBZ,
+ &result);
+
+ if (result.a0 == FFA_ERROR)
+ return ffa_get_errorcode(&result);
+
+ assert(result.a0 == FFA_RUN);
+
+ return FFA_OK;
+}
+
static ffa_result ffa_msg_send_direct_req(uint32_t function_id, uint32_t resp_id,
uint16_t source, uint16_t dest,
uint64_t a0, uint64_t a1, uint64_t a2,