Return SPCI_MEM_* rather than SPCI_MSG_SEND for push memory sharing.

Bug: 132420445
Change-Id: I80cb9832f90899eeb57af2cf209f0fa5f2fc1ca9
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index b1b3b59..231bbe4 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -320,11 +320,13 @@
 
 static bool spci_handler(struct spci_value *args, struct vcpu **next)
 {
+	uint32_t func = args->func & ~SMCCC_CONVENTION_MASK;
+
 	/*
 	 * NOTE: When adding new methods to this handler update
 	 * api_spci_features accordingly.
 	 */
-	switch (args->func & ~SMCCC_CONVENTION_MASK) {
+	switch (func) {
 	case SPCI_VERSION_32:
 		*args = api_spci_version();
 		return true;
@@ -367,28 +369,12 @@
 				     current(), next);
 		return true;
 	case SPCI_MEM_DONATE_32:
-		*args = api_spci_mem_send(SPCI_MSG_SEND_LEGACY_MEMORY_DONATE,
-					  ipa_init(args->arg1), args->arg2,
-					  args->arg3, args->arg4, args->arg5,
-					  current(), next);
-		return true;
 	case SPCI_MEM_LEND_32:
-		*args = api_spci_mem_send(SPCI_MSG_SEND_LEGACY_MEMORY_LEND,
-					  ipa_init(args->arg1), args->arg2,
-					  args->arg3, args->arg4, args->arg5,
-					  current(), next);
-		return true;
 	case SPCI_MEM_SHARE_32:
-		*args = api_spci_mem_send(SPCI_MSG_SEND_LEGACY_MEMORY_SHARE,
-					  ipa_init(args->arg1), args->arg2,
-					  args->arg3, args->arg4, args->arg5,
-					  current(), next);
-		return true;
 	case HF_SPCI_MEM_RELINQUISH:
-		*args = api_spci_mem_send(
-			SPCI_MSG_SEND_LEGACY_MEMORY_RELINQUISH,
-			ipa_init(args->arg1), args->arg2, args->arg3,
-			args->arg4, args->arg5, current(), next);
+		*args = api_spci_mem_send(func, ipa_init(args->arg1),
+					  args->arg2, args->arg3, args->arg4,
+					  args->arg5, current(), next);
 		return true;
 	}