feat(ff-a): allow ffa_run forwarding to secure world.
An ffa_run is needed when there are secondary secure parititions with
multiple execution contexts. Power management does not wake up those
execution contexts into their wait loops, so an ffa_run is necessary.
This is similar to the infrastructure tf-a-tests has to enable running
multiple secure partitions.
Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@gmail.com>
Change-Id: I95e13040a42ab2833ec9267520cb1c099a7d41a1
diff --git a/inc/hf/arch/plat/ffa.h b/inc/hf/arch/plat/ffa.h
index a1eea5f..7071c76 100644
--- a/inc/hf/arch/plat/ffa.h
+++ b/inc/hf/arch/plat/ffa.h
@@ -87,3 +87,9 @@
* Helper to check if FF-A ID is a VM ID.
*/
bool plat_ffa_is_vm_id(ffa_vm_id_t vm_id);
+
+/**
+ * Forward normal world calls of FFA_RUN ABI to other world.
+ */
+bool plat_ffa_run_forward(ffa_vm_id_t vm_id, ffa_vcpu_index_t vcpu_idx,
+ struct ffa_value *ret);