Add support for FFA_PARTITION_INFO_GET

Add support for FFA_PARTITION_INFO_GET, which returns
information on the partitions instantiated in the system.

Signed-off-by: Fuad Tabba <tabba@google.com>

Change-Id: I93070fe841b4b19c596645246203dbba14eddb12
diff --git a/inc/hf/api.h b/inc/hf/api.h
index 2c092ec..f9f8cca 100644
--- a/inc/hf/api.h
+++ b/inc/hf/api.h
@@ -48,6 +48,8 @@
 				  struct vcpu **next);
 void api_yield(struct vcpu *current, struct vcpu **next);
 struct ffa_value api_ffa_version(uint32_t requested_version);
+struct ffa_value api_ffa_partition_info_get(struct vcpu *current,
+					    const struct ffa_uuid *uuid);
 struct ffa_value api_ffa_id_get(const struct vcpu *current);
 struct ffa_value api_ffa_features(uint32_t function_id);
 struct ffa_value api_ffa_run(ffa_vm_id_t vm_id, ffa_vcpu_index_t vcpu_idx,
diff --git a/inc/hf/manifest.h b/inc/hf/manifest.h
index 9e571b1..88f3b6e 100644
--- a/inc/hf/manifest.h
+++ b/inc/hf/manifest.h
@@ -47,7 +47,7 @@
 	/** PSA-FF-A expected version - mandatory */
 	uint32_t ffa_version;
 	/** UUID - mandatory */
-	uint32_t uuid[4];
+	struct ffa_uuid uuid;
 	/** Partition id - optional */
 	ffa_vm_id_t id;
 	/** Aux ids for mem transactions - optional */
diff --git a/inc/hf/vm.h b/inc/hf/vm.h
index d45b476..cf03b0c 100644
--- a/inc/hf/vm.h
+++ b/inc/hf/vm.h
@@ -100,6 +100,7 @@
 
 struct vm {
 	ffa_vm_id_t id;
+	struct ffa_uuid uuid;
 	struct smc_whitelist smc_whitelist;
 
 	/** See api.c for the partial ordering on locks. */
@@ -140,6 +141,7 @@
 		  struct vm **new_vm);
 ffa_vm_count_t vm_get_count(void);
 struct vm *vm_find(ffa_vm_id_t id);
+struct vm *vm_find_index(uint16_t index);
 struct vm_locked vm_lock(struct vm *vm);
 struct two_vm_locked vm_lock_both(struct vm *vm1, struct vm *vm2);
 void vm_unlock(struct vm_locked *locked);