Encode run return values in an SPCI compatible way.

Bug: 141469322
Change-Id: I269a7797b72e1e7d36c153cd41050584db8415b3
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index 77b10e3..885a383 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -344,6 +344,14 @@
 	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));
+		return true;
+	}
 	}
 
 	return false;
@@ -441,11 +449,6 @@
 		vcpu->regs.r[0] = api_vcpu_get_count(args.arg1, vcpu);
 		break;
 
-	case HF_VCPU_RUN:
-		vcpu->regs.r[0] = hf_vcpu_run_return_encode(
-			api_vcpu_run(args.arg1, args.arg2, vcpu, &next));
-		break;
-
 	case HF_VM_CONFIGURE:
 		vcpu->regs.r[0] = api_vm_configure(
 			ipa_init(args.arg1), ipa_init(args.arg2), vcpu, &next);