Implement SPCI_RUN directly rather than via encoding run_return.

Bug: 141469322
Change-Id: I34d53898acb1e09b37dd9ff314a8883e32abda98
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index 885a383..f976eee 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -344,15 +344,11 @@
 	case SPCI_MSG_POLL_32:
 		*args = api_spci_msg_recv(false, current(), next);
 		return true;
-	case SPCI_RUN_32: {
-		struct vcpu *vcpu = current();
-		*args = hf_vcpu_run_return_encode(
-			api_vcpu_run((args->arg1 >> 16) & 0xffff,
-				     args->arg1 & 0xffff, vcpu, next),
-			vcpu->vm->id, vcpu_index(vcpu));
+	case SPCI_RUN_32:
+		*args = api_spci_run((args->arg1 >> 16) & 0xffff,
+				     args->arg1 & 0xffff, current(), next);
 		return true;
 	}
-	}
 
 	return false;
 }