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/arch/fake/hypervisor/BUILD.gn b/src/arch/fake/hypervisor/BUILD.gn
index cd0db5f..a845532 100644
--- a/src/arch/fake/hypervisor/BUILD.gn
+++ b/src/arch/fake/hypervisor/BUILD.gn
@@ -8,7 +8,6 @@
   sources = [
     "cpu.c",
     "ffa.c",
-    "vm.c",
   ]
   deps = [
     "//src/arch/fake:arch",
diff --git a/src/arch/fake/hypervisor/ffa.c b/src/arch/fake/hypervisor/ffa.c
index cacc1b2..5cf3d28 100644
--- a/src/arch/fake/hypervisor/ffa.c
+++ b/src/arch/fake/hypervisor/ffa.c
@@ -62,3 +62,11 @@
 	(void)handle;
 	return false;
 }
+
+ffa_partition_properties_t plat_ffa_partition_properties(
+	ffa_vm_id_t current_id, const struct vm *target)
+{
+	(void)current_id;
+	(void)target;
+	return 0;
+}
diff --git a/src/arch/fake/hypervisor/vm.c b/src/arch/fake/hypervisor/vm.c
deleted file mode 100644
index 48398ac..0000000
--- a/src/arch/fake/hypervisor/vm.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Copyright 2020 The Hafnium Authors.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://opensource.org/licenses/BSD-3-Clause.
- */
-
-#include "hf/arch/vm.h"
-
-ffa_partition_properties_t arch_vm_partition_properties(ffa_vm_id_t id)
-{
-	(void)id;
-
-	return 0;
-}