Implement SPCI_RXTX_MAP to replace hf_vm_configure.

Bug: 132421502
Change-Id: I699f412f5090dead6a4c0dbfdc12f40b5aa8fe20
diff --git a/test/hftest/service.c b/test/hftest/service.c
index e0ce071..94adea8 100644
--- a/test/hftest/service.c
+++ b/test/hftest/service.c
@@ -98,7 +98,7 @@
 	/* Prepare the context. */
 
 	/* Set up the mailbox. */
-	hf_vm_configure(send_addr, recv_addr);
+	spci_rxtx_map(send_addr, recv_addr);
 
 	/* Receive the name of the service to run. */
 	ret = spci_msg_wait();
diff --git a/test/linux/hftest_socket.c b/test/linux/hftest_socket.c
index 2e89d2b..1e55551 100644
--- a/test/linux/hftest_socket.c
+++ b/test/linux/hftest_socket.c
@@ -66,7 +66,7 @@
 	/* Prepare the context. */
 
 	/* Set up the mailbox. */
-	hf_vm_configure(send_addr, recv_addr);
+	spci_rxtx_map(send_addr, recv_addr);
 
 	spci_rx_release();
 
diff --git a/test/vmapi/arch/aarch64/gicv3/busy_secondary.c b/test/vmapi/arch/aarch64/gicv3/busy_secondary.c
index 3bf660b..e04905a 100644
--- a/test/vmapi/arch/aarch64/gicv3/busy_secondary.c
+++ b/test/vmapi/arch/aarch64/gicv3/busy_secondary.c
@@ -38,7 +38,8 @@
 SET_UP(busy_secondary)
 {
 	system_setup();
-	EXPECT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), 0);
+	EXPECT_EQ(spci_rxtx_map(send_page_addr, recv_page_addr).func,
+		  SPCI_SUCCESS_32);
 	SERVICE_SELECT(SERVICE_VM0, "busy", send_buffer);
 }
 
diff --git a/test/vmapi/arch/aarch64/gicv3/gicv3.c b/test/vmapi/arch/aarch64/gicv3/gicv3.c
index a96f55a..e2cc67e 100644
--- a/test/vmapi/arch/aarch64/gicv3/gicv3.c
+++ b/test/vmapi/arch/aarch64/gicv3/gicv3.c
@@ -89,7 +89,8 @@
 {
 	struct spci_value run_res;
 
-	EXPECT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), 0);
+	EXPECT_EQ(spci_rxtx_map(send_page_addr, recv_page_addr).func,
+		  SPCI_SUCCESS_32);
 	SERVICE_SELECT(SERVICE_VM0, "read_systemreg_ctlr", send_buffer);
 
 	run_res = spci_run(SERVICE_VM0, 0);
@@ -105,7 +106,8 @@
 {
 	struct spci_value run_res;
 
-	EXPECT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), 0);
+	EXPECT_EQ(spci_rxtx_map(send_page_addr, recv_page_addr).func,
+		  SPCI_SUCCESS_32);
 	SERVICE_SELECT(SERVICE_VM0, "write_systemreg_ctlr", send_buffer);
 
 	run_res = spci_run(SERVICE_VM0, 0);
@@ -121,7 +123,8 @@
 {
 	struct spci_value run_res;
 
-	EXPECT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), 0);
+	EXPECT_EQ(spci_rxtx_map(send_page_addr, recv_page_addr).func,
+		  SPCI_SUCCESS_32);
 	SERVICE_SELECT(SERVICE_VM0, "write_systemreg_sre", send_buffer);
 
 	run_res = spci_run(SERVICE_VM0, 0);
diff --git a/test/vmapi/arch/aarch64/gicv3/timer_secondary.c b/test/vmapi/arch/aarch64/gicv3/timer_secondary.c
index b339987..9996a2d 100644
--- a/test/vmapi/arch/aarch64/gicv3/timer_secondary.c
+++ b/test/vmapi/arch/aarch64/gicv3/timer_secondary.c
@@ -28,7 +28,8 @@
 {
 	system_setup();
 
-	EXPECT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), 0);
+	EXPECT_EQ(spci_rxtx_map(send_page_addr, recv_page_addr).func,
+		  SPCI_SUCCESS_32);
 	SERVICE_SELECT(SERVICE_VM0, "timer", send_buffer);
 
 	interrupt_enable(VIRTUAL_TIMER_IRQ, true);
diff --git a/test/vmapi/primary_only/faults.c b/test/vmapi/primary_only/faults.c
index bf56b15..c56d314 100644
--- a/test/vmapi/primary_only/faults.c
+++ b/test/vmapi/primary_only/faults.c
@@ -70,7 +70,8 @@
 	sl_lock(&s.lock);
 
 	/* Configure the VM's buffers. */
-	EXPECT_EQ(hf_vm_configure((hf_ipaddr_t)&tx[0], (hf_ipaddr_t)&rx[0]), 0);
+	EXPECT_EQ(spci_rxtx_map((hf_ipaddr_t)&tx[0], (hf_ipaddr_t)&rx[0]).func,
+		  SPCI_SUCCESS_32);
 
 	/* Tell other CPU to stop and wait for it. */
 	s.done = true;
diff --git a/test/vmapi/primary_with_secondaries/no_services.c b/test/vmapi/primary_with_secondaries/no_services.c
index 9d43cd7..33b83e0 100644
--- a/test/vmapi/primary_with_secondaries/no_services.c
+++ b/test/vmapi/primary_with_secondaries/no_services.c
@@ -110,15 +110,15 @@
 /**
  * The configured send/receive addresses can't be device memory.
  */
-TEST(hf_vm_configure, fails_with_device_memory)
+TEST(spci_rxtx_map, fails_with_device_memory)
 {
-	EXPECT_EQ(hf_vm_configure(PAGE_SIZE, PAGE_SIZE * 2), -1);
+	EXPECT_SPCI_ERROR(spci_rxtx_map(PAGE_SIZE, PAGE_SIZE * 2), SPCI_DENIED);
 }
 
 /**
  * The configured send/receive addresses can't be unaligned.
  */
-TEST(hf_vm_configure, fails_with_unaligned_pointer)
+TEST(spci_rxtx_map, fails_with_unaligned_pointer)
 {
 	uint8_t maybe_aligned[2];
 	hf_ipaddr_t unaligned_addr = (hf_ipaddr_t)&maybe_aligned[1];
@@ -127,36 +127,44 @@
 	/* Check the the address is unaligned. */
 	ASSERT_EQ(unaligned_addr & 1, 1);
 
-	EXPECT_EQ(hf_vm_configure(aligned_addr, unaligned_addr), -1);
-	EXPECT_EQ(hf_vm_configure(unaligned_addr, aligned_addr), -1);
-	EXPECT_EQ(hf_vm_configure(unaligned_addr, unaligned_addr), -1);
+	EXPECT_SPCI_ERROR(spci_rxtx_map(aligned_addr, unaligned_addr),
+			  SPCI_INVALID_PARAMETERS);
+	EXPECT_SPCI_ERROR(spci_rxtx_map(unaligned_addr, aligned_addr),
+			  SPCI_INVALID_PARAMETERS);
+	EXPECT_SPCI_ERROR(spci_rxtx_map(unaligned_addr, unaligned_addr),
+			  SPCI_INVALID_PARAMETERS);
 }
 
 /**
  * The configured send/receive addresses can't be the same page.
  */
-TEST(hf_vm_configure, fails_with_same_page)
+TEST(spci_rxtx_map, fails_with_same_page)
 {
-	EXPECT_EQ(hf_vm_configure(send_page_addr, send_page_addr), -1);
-	EXPECT_EQ(hf_vm_configure(recv_page_addr, recv_page_addr), -1);
+	EXPECT_SPCI_ERROR(spci_rxtx_map(send_page_addr, send_page_addr),
+			  SPCI_INVALID_PARAMETERS);
+	EXPECT_SPCI_ERROR(spci_rxtx_map(recv_page_addr, recv_page_addr),
+			  SPCI_INVALID_PARAMETERS);
 }
 
 /**
  * The configuration of the send/receive addresses can only happen once.
  */
-TEST(hf_vm_configure, fails_if_already_succeeded)
+TEST(spci_rxtx_map, fails_if_already_succeeded)
 {
-	EXPECT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), 0);
-	EXPECT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), -1);
+	EXPECT_EQ(spci_rxtx_map(send_page_addr, recv_page_addr).func,
+		  SPCI_SUCCESS_32);
+	EXPECT_SPCI_ERROR(spci_rxtx_map(send_page_addr, recv_page_addr),
+			  SPCI_DENIED);
 }
 
 /**
  * The configuration of the send/receive address is successful with valid
  * arguments.
  */
-TEST(hf_vm_configure, succeeds)
+TEST(spci_rxtx_map, succeeds)
 {
-	EXPECT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), 0);
+	EXPECT_EQ(spci_rxtx_map(send_page_addr, recv_page_addr).func,
+		  SPCI_SUCCESS_32);
 }
 
 /**
diff --git a/test/vmapi/primary_with_secondaries/util.c b/test/vmapi/primary_with_secondaries/util.c
index 419ec6c..eaa2dd1 100644
--- a/test/vmapi/primary_with_secondaries/util.c
+++ b/test/vmapi/primary_with_secondaries/util.c
@@ -34,7 +34,8 @@
 
 struct mailbox_buffers set_up_mailbox(void)
 {
-	ASSERT_EQ(hf_vm_configure(send_page_addr, recv_page_addr), 0);
+	ASSERT_EQ(spci_rxtx_map(send_page_addr, recv_page_addr).func,
+		  SPCI_SUCCESS_32);
 	return (struct mailbox_buffers){
 		.send = send_page,
 		.recv = recv_page,