Fix memory handle encoding.
We were sending handles as a single register in some cases, rather than
breaking them into two 32-bit registers as the FF-A spec requires.
Bug: 132420445
Change-Id: Ieb327ded2ad72f5332a1d001452176c8edbe0f08
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index 6ad8616..8eb580c 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -379,8 +379,8 @@
return true;
case FFA_MEM_RECLAIM_32:
*args = api_ffa_mem_reclaim(
- (args->arg1 & 0xffffffff) | args->arg2 << 32,
- args->arg3, current());
+ ffa_assemble_handle(args->arg1, args->arg2), args->arg3,
+ current());
return true;
}