fix(ff-a): use messaging info from the manifest

Adds a messaging method to the VM structure. Refactor messaging info
field in the manifest to comply with information in specification. In
particular - distinguish between the direct message send/receive.
Use messaging method from the manifest to populate partition info for
FFA_PARTITION_INFO_GET ABI. Populates partition info based on the
caller id (SP can send direct messages to other SPs).
Refactors managed exit check to use messaging method value.

Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: Id0734c18d14879b89ba3517b8ff4b3b41b53b56f
diff --git a/src/api.c b/src/api.c
index 250c78d..6679c7e 100644
--- a/src/api.c
+++ b/src/api.c
@@ -228,7 +228,7 @@
  */
 static bool api_ffa_is_managed_exit_ongoing(struct vcpu_locked vcpu_locked)
 {
-	return (vcpu_locked.vcpu->vm->supports_managed_exit &&
+	return (vm_managed_exit_supported(vcpu_locked.vcpu->vm) &&
 		vcpu_locked.vcpu->processing_managed_exit);
 }
 
@@ -375,7 +375,8 @@
 			partitions[vm_count].vm_id = vm->id;
 			partitions[vm_count].vcpu_count = vm->vcpu_count;
 			partitions[vm_count].properties =
-				arch_vm_partition_properties(vm->id);
+				plat_ffa_partition_properties(current_vm->id,
+							      vm);
 
 			++vm_count;
 		}