fix(ff-a): dispatch other world functions
Move FF-A related functions from other world module to plat ffa module
with different implementations based upon building the Hypervisor, SPMC,
or standalone image.
Change-Id: I85bedf58ddc074d41bb25ae2dcbcdaa407821562
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
diff --git a/src/arch/fake/hypervisor/ffa.c b/src/arch/fake/hypervisor/ffa.c
index 08183e8..cacc1b2 100644
--- a/src/arch/fake/hypervisor/ffa.c
+++ b/src/arch/fake/hypervisor/ffa.c
@@ -8,9 +8,57 @@
#include "hf/ffa.h"
-#include "hf/vm_ids.h"
+#include "hf/vcpu.h"
ffa_vm_id_t arch_ffa_spmc_id_get(void)
{
return HF_SPMC_VM_ID;
}
+
+void plat_ffa_log_init(void)
+{
+}
+
+bool plat_ffa_is_direct_request_valid(struct vcpu *current,
+ ffa_vm_id_t sender_vm_id,
+ ffa_vm_id_t receiver_vm_id)
+{
+ (void)current;
+ (void)sender_vm_id;
+ (void)receiver_vm_id;
+
+ return true;
+}
+
+bool plat_ffa_is_direct_response_valid(struct vcpu *current,
+ ffa_vm_id_t sender_vm_id,
+ ffa_vm_id_t receiver_vm_id)
+{
+ (void)current;
+ (void)sender_vm_id;
+ (void)receiver_vm_id;
+
+ return true;
+}
+
+bool plat_ffa_direct_request_forward(ffa_vm_id_t receiver_vm_id,
+ struct ffa_value args,
+ struct ffa_value *ret)
+{
+ (void)receiver_vm_id;
+ (void)args;
+ (void)ret;
+ return false;
+}
+
+ffa_memory_handle_t plat_ffa_memory_handle_make(uint64_t index)
+{
+ return index;
+}
+
+bool plat_ffa_memory_handle_allocated_by_current_world(
+ ffa_memory_handle_t handle)
+{
+ (void)handle;
+ return false;
+}