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/inc/hf/arch/plat/ffa.h b/inc/hf/arch/plat/ffa.h
index 19c8e45..e300ade 100644
--- a/inc/hf/arch/plat/ffa.h
+++ b/inc/hf/arch/plat/ffa.h
@@ -9,6 +9,31 @@
 #pragma once
 
 #include "hf/ffa.h"
+#include "hf/vcpu.h"
 
 /** Returns the SPMC ID. */
 struct ffa_value plat_ffa_spmc_id_get(void);
+
+void plat_ffa_log_init(void);
+void plat_ffa_init(bool tee_enabled);
+bool plat_ffa_is_direct_request_valid(struct vcpu *current,
+				      ffa_vm_id_t sender_vm_id,
+				      ffa_vm_id_t receiver_vm_id);
+bool plat_ffa_is_direct_response_valid(struct vcpu *current,
+				       ffa_vm_id_t sender_vm_id,
+				       ffa_vm_id_t receiver_vm_id);
+bool plat_ffa_direct_request_forward(ffa_vm_id_t receiver_vm_id,
+				     struct ffa_value args,
+				     struct ffa_value *ret);
+
+/**
+ * Encodes memory handle according to section 5.10.2 of the FF-A v1.0 spec.
+ */
+ffa_memory_handle_t plat_ffa_memory_handle_make(uint64_t index);
+
+/**
+ * Checks whether given handle was allocated by current world, according to
+ * handle encoding rules.
+ */
+bool plat_ffa_memory_handle_allocated_by_current_world(
+	ffa_memory_handle_t handle);