refactor(hypervisor): enabling TEE interaction

At initialization hafnium initializes the other world's resources.
The hypervisor needs to enable its interaction with the TEE, deployed
in the SWd. This was done by passing a boolean to the function
'plat_ffa_init', which sets a local 'ffa_tee_enabled'.
Before forwarding a call to the SPMC, the hypervisor normally checks if
this boolean was set at initialization.
When loading the VMs the hypervisor might need to call the SPMC
with FFA_NOTIFICATION_BITMAP_CREATE, in case notifications are enabled.
The VMs were being loaded before the call to 'plat_ffa_init', so
setting 'ffa_tee_enabled' was factored out into its own function, which
is invoked before loading VMs.

Change-Id: Ifaaf11ee62cdbd5d09f75fabb57068de7d38d01d
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/src/init.c b/src/init.c
index bff98b1..170c716 100644
--- a/src/init.c
+++ b/src/init.c
@@ -143,6 +143,8 @@
 		      manifest_strerror(manifest_ret));
 	}
 
+	plat_ffa_set_tee_enabled(manifest.ffa_tee_enabled);
+
 	if (!plat_iommu_init(&fdt, mm_stage1_locked, &ppool)) {
 		panic("Could not initialize IOMMUs.");
 	}
@@ -180,7 +182,7 @@
 	mm_vm_enable_invalidation();
 
 	/* Perform platform specfic FF-A initialization. */
-	plat_ffa_init(manifest.ffa_tee_enabled);
+	plat_ffa_init();
 
 	dlog_info("Hafnium initialisation completed\n");
 }