Implement SPCI pull model for memory sharing.
Bug: 132420445
Change-Id: Iac21d7949bc54da13a4f25a317f5e83b2727638c
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index b4646d3..4a4f035 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -366,11 +366,21 @@
case SPCI_MEM_DONATE_32:
case SPCI_MEM_LEND_32:
case SPCI_MEM_SHARE_32:
- case HF_SPCI_MEM_RELINQUISH:
*args = api_spci_mem_send(func, ipa_init(args->arg1),
args->arg2, args->arg3, args->arg4,
args->arg5, current(), next);
return true;
+ case SPCI_MEM_RETRIEVE_REQ_32:
+ *args = api_spci_mem_retrieve_req(
+ ipa_init(args->arg1), args->arg2, args->arg3,
+ args->arg4, args->arg5, current());
+ return true;
+ case SPCI_MEM_RELINQUISH_32:
+ *args = api_spci_mem_relinquish(current());
+ return true;
+ case SPCI_MEM_RECLAIM_32:
+ *args = api_spci_mem_reclaim(args->arg1, args->arg2, current());
+ return true;
}
return false;