libsp: Add FF-A direct message routing extension

The routing extension is a layer on top of FF-A which enables SPs to
send direct messages to the normal world component while maintaining
the state of the SPs in the call chain.

Change-Id: Ic4d6d5cbbccbe1adb534e7b8d2502b78b3d9cb04
Signed-off-by: Imre Kis <imre.kis@arm.com>
diff --git a/components/messaging/ffa/libsp/tests.cmake b/components/messaging/ffa/libsp/tests.cmake
index 092acef..d851442 100644
--- a/components/messaging/ffa/libsp/tests.cmake
+++ b/components/messaging/ffa/libsp/tests.cmake
@@ -138,4 +138,19 @@
 		${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
 	COMPILE_DEFINITIONS
 		-DARM64
+)
+
+unit_test_add_suite(
+	NAME libsp_sp_messaging_with_routing_extension
+	SOURCES
+		${CMAKE_CURRENT_LIST_DIR}/test/test_sp_messaging.cpp
+		${CMAKE_CURRENT_LIST_DIR}/test/mock_ffa_api.cpp
+		${CMAKE_CURRENT_LIST_DIR}/sp_messaging.c
+		${CMAKE_CURRENT_LIST_DIR}/ffa_direct_msg_routing_extension.c
+	INCLUDE_DIRECTORIES
+		${CMAKE_CURRENT_LIST_DIR}/include/
+		${UNIT_TEST_PROJECT_PATH}/components/common/utils/include
+	COMPILE_DEFINITIONS
+		-DARM64
+		-DFFA_DIRECT_MSG_ROUTING_EXTENSION=1
 )
\ No newline at end of file