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/init.c b/src/init.c
index 09d503e..d9cb1d7 100644
--- a/src/init.c
+++ b/src/init.c
@@ -12,6 +12,7 @@
 #include <stddef.h>
 
 #include "hf/arch/other_world.h"
+#include "hf/arch/plat/ffa.h"
 
 #include "hf/api.h"
 #include "hf/boot_flow.h"
@@ -48,7 +49,7 @@
 	/* Make sure the console is initialised before calling dlog. */
 	plat_console_init();
 
-	arch_other_world_log_init();
+	plat_ffa_log_init();
 
 	mpool_init(&ppool, MM_PPOOL_ENTRY_SIZE);
 	mpool_add_chunk(&ppool, ptable_buf, sizeof(ptable_buf));
@@ -167,10 +168,8 @@
 	/* Enable TLB invalidation for VM page table updates. */
 	mm_vm_enable_invalidation();
 
-	if (manifest.ffa_tee_enabled) {
-		/* Set up message buffers for TEE dispatcher. */
-		arch_other_world_init();
-	}
+	/* Set up message buffers for TEE dispatcher. */
+	plat_ffa_init(manifest.ffa_tee_enabled);
 
 	dlog_info("Hafnium initialisation completed\n");
 }