feat(ff-a): add managed exit field in the manifest

Moving setting to enable/disable managed exit support from messaging
method field to a separate field in partition manifest. As of DEN0077A
FF-A v1.1 Beta0 section 5.2, managed exit support is moved out of
messaging-method field and is described in a separate field.

Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: I87506d7213b88d5a18073bea7357c381605d8b33
diff --git a/inc/hf/arch/plat/ffa.h b/inc/hf/arch/plat/ffa.h
index bfbc049..0d8813e 100644
--- a/inc/hf/arch/plat/ffa.h
+++ b/inc/hf/arch/plat/ffa.h
@@ -27,6 +27,11 @@
 				     struct ffa_value *ret);
 
 /**
+ * Checks whether managed exit is supported by given SP.
+ */
+bool plat_ffa_vm_managed_exit_supported(struct vm *vm);
+
+/**
  * 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);
diff --git a/inc/hf/manifest.h b/inc/hf/manifest.h
index f9a899b..bdf0cb3 100644
--- a/inc/hf/manifest.h
+++ b/inc/hf/manifest.h
@@ -139,6 +139,8 @@
 	/** mandatory - direct/indirect msg or both */
 	uint8_t messaging_method;
 	/** optional */
+	bool managed_exit;
+	/** optional */
 	bool has_primary_scheduler;
 	/** optional - preemptible / run to completion */
 	uint8_t runtime_model;
diff --git a/inc/hf/vm.h b/inc/hf/vm.h
index 047e9cd..1eccd91 100644
--- a/inc/hf/vm.h
+++ b/inc/hf/vm.h
@@ -126,6 +126,7 @@
 	bool initialized;
 	uint16_t boot_order;
 	uint8_t messaging_method;
+	bool managed_exit;
 	struct vm *next_boot;
 
 	/**
@@ -177,4 +178,3 @@
 
 void vm_update_boot(struct vm *vm);
 struct vm *vm_get_first_boot(void);
-bool vm_managed_exit_supported(struct vm *vm);