Test: Gather test execution code in app_broker

This change consolidates all code for tests execution into a single
module named app_broker. The broker creates execution environment for
tests (regression and PSA aPI) requireing the tests implement only
entry functoin: void test_app(void *arg) defined in test_app.h

Signed-off-by: Anton Komlev <anton.komlev@arm.com>
Change-Id: I410f6dd0a635b4b543a25af528195d9365dcf320
diff --git a/app_broker/CMakeLists.txt b/app_broker/CMakeLists.txt
new file mode 100644
index 0000000..2a8a6eb
--- /dev/null
+++ b/app_broker/CMakeLists.txt
@@ -0,0 +1,46 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+#
+# This CMake script used in a split build only. In the legacy 'sinlge' build
+# this file is ignoed. Please don't be confused.
+#
+cmake_minimum_required(VERSION 3.15)
+
+# This is important to add this SPE subdirectory at first as it
+# brings configuration from TF-M build
+add_subdirectory(${CONFIG_SPE_PATH} ${CMAKE_BINARY_DIR}/spe)
+
+add_subdirectory(log)
+add_subdirectory(CMSIS)
+add_subdirectory(os_wrapper)
+
+add_library(tfm_test_broker STATIC
+    main_ns.c
+)
+
+target_include_directories(tfm_test_broker PUBLIC .)
+
+target_link_libraries(tfm_test_broker
+    PUBLIC
+        tfm_api_ns
+        tfm_log
+        os_wrapper
+)
+
+add_subdirectory(nsid_manager)
+target_link_libraries(tfm_test_broker PUBLIC tfm_nsid_manager)
+
+if (TFM_PARTITION_NS_AGENT_MAILBOX)
+    add_subdirectory(multi_core)
+    target_link_libraries(tfm_test_broker PUBLIC ns_multi_core)
+endif()
+
+# platform_region_defs needed by PS tests
+add_library(platform_region_defs INTERFACE)
+
+
+