Make fragmented memory share test work without pKVM too.

Change-Id: I6a947abca0dae04aaa82484ffcb036de094c0ef0
diff --git a/lib/test_ffa.c b/lib/test_ffa.c
index 418de10..3ad044b 100644
--- a/lib/test_ffa.c
+++ b/lib/test_ffa.c
@@ -75,13 +75,23 @@ static inline struct arm_smccc_1_2_regs ffa_mem_share(uint32_t length,
 static inline struct arm_smccc_1_2_regs
 ffa_mem_frag_tx(ffa_memory_handle_t handle, uint32_t fragment_length)
 {
-	struct arm_smccc_1_2_regs args =
-		(struct arm_smccc_1_2_regs){ .a0 = FFA_MEM_FRAG_TX,
-					     .a1 = (uint32_t)handle,
-					     .a2 = (uint32_t)(handle >> 32),
-					     .a3 = fragment_length };
+	ffa_vm_id_t sender_vm_id;
+	struct arm_smccc_1_2_regs args;
 	struct arm_smccc_1_2_regs ret;
 
+	if (is_protected_kvm_enabled()) {
+		/* Sender MBZ for virtual FF-A interface. */
+		sender_vm_id = 0;
+	} else {
+		sender_vm_id = HOST_VM_ID;
+	}
+	args = (struct arm_smccc_1_2_regs){ .a0 = FFA_MEM_FRAG_TX,
+					    .a1 = (uint32_t)handle,
+					    .a2 = (uint32_t)(handle >> 32),
+					    .a3 = fragment_length,
+					    .a4 = (uint32_t)sender_vm_id
+						  << 16 };
+
 	arm_smccc_1_2_smc(&args, &ret);
 
 	return ret;