Use new SPCI beta function identifiers.
Note that this commit doesn't move to the new style of return values yet,
nor does it follow all the semantics of the new version.
Bug: 132395846
Change-Id: I02f41f2b84cfd9babd37aa5e2aae875da85f949e
diff --git a/src/api.c b/src/api.c
index f4ec664..ff56751 100644
--- a/src/api.c
+++ b/src/api.c
@@ -1040,13 +1040,10 @@
*
* No new messages can be received until the mailbox has been cleared.
*/
-int32_t api_spci_msg_recv(uint32_t attributes, struct vcpu *current,
- struct vcpu **next)
+int32_t api_spci_msg_recv(bool block, struct vcpu *current, struct vcpu **next)
{
struct vm *vm = current->vm;
int32_t return_code;
- bool block =
- (attributes & SPCI_MSG_RECV_BLOCK_MASK) == SPCI_MSG_RECV_BLOCK;
/*
* The primary VM will receive messages as a status code from running
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index d896c80..a695938 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -303,8 +303,11 @@
case SPCI_MSG_SEND_32:
*ret = api_spci_msg_send(arg1, current(), next);
return true;
- case SPCI_MSG_RECV_32:
- *ret = api_spci_msg_recv(arg1, current(), next);
+ case SPCI_MSG_WAIT_32:
+ *ret = api_spci_msg_recv(true, current(), next);
+ return true;
+ case SPCI_MSG_POLL_32:
+ *ret = api_spci_msg_recv(false, current(), next);
return true;
}