diff --git a/spm/cactus/cactus_interrupt.c b/spm/cactus/cactus_interrupt.c
index 7de36cf..f61df94 100644
--- a/spm/cactus/cactus_interrupt.c
+++ b/spm/cactus/cactus_interrupt.c
@@ -13,7 +13,7 @@
 #include "cactus_test_cmds.h"
 #include "spm_common.h"
 
-extern ffa_vm_id_t g_ffa_id;
+extern ffa_id_t g_ffa_id;
 
 static void managed_exit_handler(void)
 {
diff --git a/spm/cactus/cactus_main.c b/spm/cactus/cactus_main.c
index ff3f618..cc2072c 100644
--- a/spm/cactus/cactus_main.c
+++ b/spm/cactus/cactus_main.c
@@ -34,7 +34,7 @@
 extern void secondary_cold_entry(void);
 
 /* Global ffa_id */
-ffa_vm_id_t g_ffa_id;
+ffa_id_t g_ffa_id;
 
 /*
  *
@@ -45,10 +45,10 @@
  *
  */
 
-static void __dead2 message_loop(ffa_vm_id_t vm_id, struct mailbox_buffers *mb)
+static void __dead2 message_loop(ffa_id_t vm_id, struct mailbox_buffers *mb)
 {
 	smc_ret_values ffa_ret;
-	ffa_vm_id_t destination;
+	ffa_id_t destination;
 
 	/*
 	* This initial wait call is necessary to inform SPMD that
@@ -182,7 +182,7 @@
 
 	/* Get current FFA id */
 	smc_ret_values ffa_id_ret = ffa_id_get();
-	ffa_vm_id_t ffa_id = (ffa_vm_id_t)(ffa_id_ret.ret2 & 0xffff);
+	ffa_id_t ffa_id = (ffa_id_t)(ffa_id_ret.ret2 & 0xffff);
 	if (ffa_func_id(ffa_id_ret) != FFA_SUCCESS_SMC32) {
 		ERROR("FFA_ID_GET failed.\n");
 		panic();
diff --git a/spm/cactus/cactus_tests/cactus_test_direct_messaging.c b/spm/cactus/cactus_tests/cactus_test_direct_messaging.c
index a59cfa2..9b9d1aa 100644
--- a/spm/cactus/cactus_tests/cactus_test_direct_messaging.c
+++ b/spm/cactus/cactus_tests/cactus_test_direct_messaging.c
@@ -24,8 +24,8 @@
 CACTUS_CMD_HANDLER(req_echo_cmd, CACTUS_REQ_ECHO_CMD)
 {
 	smc_ret_values ffa_ret;
-	ffa_vm_id_t vm_id = ffa_dir_msg_dest(*args);
-	ffa_vm_id_t echo_dest = cactus_req_echo_get_echo_dest(*args);
+	ffa_id_t vm_id = ffa_dir_msg_dest(*args);
+	ffa_id_t echo_dest = cactus_req_echo_get_echo_dest(*args);
 	uint64_t echo_val = cactus_echo_get_val(*args);
 
 	VERBOSE("%x requested to send echo to %x, value %llx\n",
@@ -48,10 +48,10 @@
 	return cactus_success_resp(vm_id, ffa_dir_msg_source(*args), 0);
 }
 
-static smc_ret_values base_deadlock_handler(ffa_vm_id_t vm_id,
-					    ffa_vm_id_t source,
-					    ffa_vm_id_t deadlock_dest,
-					    ffa_vm_id_t deadlock_next_dest)
+static smc_ret_values base_deadlock_handler(ffa_id_t vm_id,
+					    ffa_id_t source,
+					    ffa_id_t deadlock_dest,
+					    ffa_id_t deadlock_next_dest)
 {
 	smc_ret_values ffa_ret;
 
@@ -92,9 +92,9 @@
 
 CACTUS_CMD_HANDLER(deadlock_cmd, CACTUS_DEADLOCK_CMD)
 {
-	ffa_vm_id_t source = ffa_dir_msg_source(*args);
-	ffa_vm_id_t deadlock_dest = cactus_deadlock_get_next_dest(*args);
-	ffa_vm_id_t deadlock_next_dest = source;
+	ffa_id_t source = ffa_dir_msg_source(*args);
+	ffa_id_t deadlock_dest = cactus_deadlock_get_next_dest(*args);
+	ffa_id_t deadlock_next_dest = source;
 
 	VERBOSE("%x is creating deadlock. next: %x\n", source, deadlock_dest);
 
@@ -104,10 +104,10 @@
 
 CACTUS_CMD_HANDLER(req_deadlock_cmd, CACTUS_REQ_DEADLOCK_CMD)
 {
-	ffa_vm_id_t vm_id = ffa_dir_msg_dest(*args);
-	ffa_vm_id_t source = ffa_dir_msg_source(*args);
-	ffa_vm_id_t deadlock_dest = cactus_deadlock_get_next_dest(*args);
-	ffa_vm_id_t deadlock_next_dest = cactus_deadlock_get_next_dest2(*args);
+	ffa_id_t vm_id = ffa_dir_msg_dest(*args);
+	ffa_id_t source = ffa_dir_msg_source(*args);
+	ffa_id_t deadlock_dest = cactus_deadlock_get_next_dest(*args);
+	ffa_id_t deadlock_next_dest = cactus_deadlock_get_next_dest2(*args);
 
 	VERBOSE("%x requested deadlock with %x and %x\n",
 		ffa_dir_msg_source(*args), deadlock_dest, deadlock_next_dest);
diff --git a/spm/cactus/cactus_tests/cactus_test_memory_sharing.c b/spm/cactus/cactus_tests/cactus_test_memory_sharing.c
index e7bce50..604058a 100644
--- a/spm/cactus/cactus_tests/cactus_test_memory_sharing.c
+++ b/spm/cactus/cactus_tests/cactus_test_memory_sharing.c
@@ -24,8 +24,8 @@
 	int ret;
 	unsigned int mem_attrs;
 	uint32_t *ptr;
-	ffa_vm_id_t source = ffa_dir_msg_source(*args);
-	ffa_vm_id_t vm_id = ffa_dir_msg_dest(*args);
+	ffa_id_t source = ffa_dir_msg_source(*args);
+	ffa_id_t vm_id = ffa_dir_msg_dest(*args);
 	uint32_t mem_func = cactus_req_mem_send_get_mem_func(*args);
 	uint64_t handle = cactus_mem_send_get_handle(*args);
 
@@ -107,10 +107,10 @@
 {
 	smc_ret_values ffa_ret;
 	uint32_t mem_func = cactus_req_mem_send_get_mem_func(*args);
-	ffa_vm_id_t receiver = cactus_req_mem_send_get_receiver(*args);
+	ffa_id_t receiver = cactus_req_mem_send_get_receiver(*args);
 	ffa_memory_handle_t handle;
-	ffa_vm_id_t vm_id = ffa_dir_msg_dest(*args);
-	ffa_vm_id_t source = ffa_dir_msg_source(*args);
+	ffa_id_t vm_id = ffa_dir_msg_dest(*args);
+	ffa_id_t source = ffa_dir_msg_source(*args);
 
 	VERBOSE("%x requested to send memory to %x (func: %x)\n",
 		source, receiver, mem_func);
diff --git a/spm/cactus/cactus_tests/cactus_tests_smmuv3.c b/spm/cactus/cactus_tests/cactus_tests_smmuv3.c
index ce53dc6..fbf46c8 100644
--- a/spm/cactus/cactus_tests/cactus_tests_smmuv3.c
+++ b/spm/cactus/cactus_tests/cactus_tests_smmuv3.c
@@ -151,8 +151,8 @@
 CACTUS_CMD_HANDLER(smmuv3_cmd, CACTUS_DMA_SMMUv3_CMD)
 {
 	smc_ret_values ffa_ret;
-	ffa_vm_id_t vm_id = ffa_dir_msg_dest(*args);
-	ffa_vm_id_t source = ffa_dir_msg_source(*args);
+	ffa_id_t vm_id = ffa_dir_msg_dest(*args);
+	ffa_id_t source = ffa_dir_msg_source(*args);
 
 	VERBOSE("Received request through direct message for DMA service\n");
 
