Add secure storage PSA API test deployments

Adds build files and test suite specific initialisation for building
and running PSA API tests against secure storage service providers.
Tests may be run in a native PC environment or from Linux userspace
on an Arm based Linux platform.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I58596bd176f3987c026da7c80a5d330b90763848
diff --git a/components/service/attestation/include/component.cmake b/components/service/attestation/include/component.cmake
index 00c61bd..338eabb 100644
--- a/components/service/attestation/include/component.cmake
+++ b/components/service/attestation/include/component.cmake
@@ -12,3 +12,6 @@
 	 PRIVATE
 		"${CMAKE_CURRENT_LIST_DIR}"
 	)
+
+# Advertise this component as the provider of the PSA Attestation header files
+set(PSA_ATTESTATION_API_INCLUDE "${CMAKE_CURRENT_LIST_DIR}" CACHE STRING "PSA Attestation API include path")
diff --git a/components/service/attestation/include/psa/initial_attestation.h b/components/service/attestation/include/psa/initial_attestation.h
index 35a18d0..2aa93d3 100644
--- a/components/service/attestation/include/psa/initial_attestation.h
+++ b/components/service/attestation/include/psa/initial_attestation.h
@@ -18,6 +18,7 @@
 #include <limits.h>
 #include <stdint.h>
 #include <stddef.h>
+#include <psa/error.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/components/service/common/include/component.cmake b/components/service/common/include/component.cmake
index 041f7d5..eecc59e 100644
--- a/components/service/common/include/component.cmake
+++ b/components/service/common/include/component.cmake
@@ -1,5 +1,5 @@
 #-------------------------------------------------------------------------------
-# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+# Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
@@ -12,3 +12,6 @@
 	 PRIVATE
 		"${CMAKE_CURRENT_LIST_DIR}"
 	)
+
+# Advertise this component as the provider of common PSA header files
+set(PSA_COMMON_INCLUDE "${CMAKE_CURRENT_LIST_DIR}" CACHE STRING "PSA common include path")
diff --git a/deployments/psa-api-test/crypto/crypto-api-test.cmake b/deployments/psa-api-test/crypto/crypto-api-test.cmake
index 5ad0930..4063175 100644
--- a/deployments/psa-api-test/crypto/crypto-api-test.cmake
+++ b/deployments/psa-api-test/crypto/crypto-api-test.cmake
@@ -12,6 +12,13 @@
 set(TS_ARCH_TEST_SUITE CRYPTO CACHE STRING "Arch test suite")
 
 #-------------------------------------------------------------------------------
+#  The arch test build system puts its build output under a test suite specific
+#  subdirectory.  The subdirectory name is different from the test suite name
+#  so an additional define is needed to obtain the built library.
+#-------------------------------------------------------------------------------
+set(TS_ARCH_TEST_BUILD_SUBDIR crypto CACHE STRING "Arch test build subdirectory")
+
+#-------------------------------------------------------------------------------
 #  Crypto specific components
 #
 #-------------------------------------------------------------------------------
@@ -27,7 +34,10 @@
 	${TS_ROOT}/deployments/psa-api-test/crypto/crypto_locator.c
 )
 
-# Export psa crypto API
+#-------------------------------------------------------------------------------
+#  Advertise PSA API include paths to PSA Arch tests
+#
+#-------------------------------------------------------------------------------
 list(APPEND PSA_ARCH_TESTS_EXTERNAL_INCLUDE_PATHS ${PSA_CRYPTO_API_INCLUDE})
 
 #-------------------------------------------------------------------------------
diff --git a/deployments/psa-api-test/crypto/linux-pc/CMakeLists.txt b/deployments/psa-api-test/crypto/linux-pc/CMakeLists.txt
index bd6cc8f..884fc3e 100644
--- a/deployments/psa-api-test/crypto/linux-pc/CMakeLists.txt
+++ b/deployments/psa-api-test/crypto/linux-pc/CMakeLists.txt
@@ -9,9 +9,10 @@
 include(../../psa-api-test-config.cmake REQUIRED)
 
 #-------------------------------------------------------------------------------
-#  The CMakeLists.txt for building the psa-api-test deployment for linux-pc
+#  The CMakeLists.txt for building the psa-api-test/crypto deployment for
+#  linux-pc
 #
-#  Used for building and running psa arch tests in a native PC enviroment.
+#  Used for building and running psa arch crypto tests in a native PC enviroment.
 #  Tests can be run by running the built executable called "psa-api-test"
 #-------------------------------------------------------------------------------
 include(${TS_ROOT}/environments/linux-pc/env.cmake)
diff --git a/deployments/psa-api-test/initial_attestation/iat-api-test.cmake b/deployments/psa-api-test/initial_attestation/iat-api-test.cmake
index 322829a..79655ff 100644
--- a/deployments/psa-api-test/initial_attestation/iat-api-test.cmake
+++ b/deployments/psa-api-test/initial_attestation/iat-api-test.cmake
@@ -20,8 +20,14 @@
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
 		"components/service/attestation/include"
+		"components/service/attestation/client/psa"
 )
 
+#-------------------------------------------------------------------------------
+#  Add external components used specifically for attestation tests
+#
+#-------------------------------------------------------------------------------
+
 # Configuration for mbedcrypto
 set(MBEDTLS_USER_CONFIG_FILE
 	"${TS_ROOT}/components/service/crypto/client/cpp/config_mbedtls_user.h"
@@ -31,8 +37,13 @@
 include(${TS_ROOT}/external/MbedTLS/MbedTLS.cmake)
 target_link_libraries(psa-api-test PRIVATE mbedcrypto)
 
-# Export psa crypto API
+#-------------------------------------------------------------------------------
+#  Advertise PSA API include paths to PSA Arch tests
+#
+#-------------------------------------------------------------------------------
 list(APPEND PSA_ARCH_TESTS_EXTERNAL_INCLUDE_PATHS ${PSA_CRYPTO_API_INCLUDE})
+list(APPEND PSA_ARCH_TESTS_EXTERNAL_INCLUDE_PATHS ${PSA_ATTESTATION_API_INCLUDE})
+list(APPEND PSA_ARCH_TESTS_EXTERNAL_INCLUDE_PATHS ${PSA_COMMON_INCLUDE})
 
 #-------------------------------------------------------------------------------
 #  Extend with components that are common across all deployments of
diff --git a/deployments/psa-api-test/internal_trusted_storage/arm-linux/CMakeLists.txt b/deployments/psa-api-test/internal_trusted_storage/arm-linux/CMakeLists.txt
new file mode 100644
index 0000000..27e511a
--- /dev/null
+++ b/deployments/psa-api-test/internal_trusted_storage/arm-linux/CMakeLists.txt
@@ -0,0 +1,25 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+cmake_minimum_required(VERSION 3.16)
+include(../../../deployment.cmake REQUIRED)
+include(../../psa-api-test-config.cmake REQUIRED)
+
+#-------------------------------------------------------------------------------
+#  The CMakeLists.txt for building the psa-api-test deployment for arm-linux
+#
+#  Used for building and running psa arch tests on an Arm based Linux device
+#-------------------------------------------------------------------------------
+include(${TS_ROOT}/environments/arm-linux/env.cmake)
+project(trusted-services LANGUAGES CXX C)
+add_executable(psa-api-test)
+target_include_directories(psa-api-test PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
+
+#-------------------------------------------------------------------------------
+#  Extend with components that are common across all deployments of
+#  psa-api-test/internal_trusted_storage
+#-------------------------------------------------------------------------------
+include(../its-api-test.cmake REQUIRED)
diff --git a/deployments/psa-api-test/internal_trusted_storage/its-api-test.cmake b/deployments/psa-api-test/internal_trusted_storage/its-api-test.cmake
new file mode 100644
index 0000000..ea6f381
--- /dev/null
+++ b/deployments/psa-api-test/internal_trusted_storage/its-api-test.cmake
@@ -0,0 +1,42 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+#  Define test suite to build.  Used by the psa_arch_tests external component
+#  to configure what test suite gets built.
+#-------------------------------------------------------------------------------
+set(TS_ARCH_TEST_SUITE INTERNAL_TRUSTED_STORAGE CACHE STRING "Arch test suite")
+
+#-------------------------------------------------------------------------------
+#  The arch test build system puts its build output under a test suite specific
+#  subdirectory.  The subdirectory name is different from the test suite name
+#  so an additional define is needed to obtain the built library.
+#-------------------------------------------------------------------------------
+set(TS_ARCH_TEST_BUILD_SUBDIR storage CACHE STRING "Arch test build subdirectory")
+
+#-------------------------------------------------------------------------------
+#  Crypto specific components
+#
+#-------------------------------------------------------------------------------
+add_components(
+	TARGET "psa-api-test"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		"components/service/secure_storage/include"
+		"components/service/secure_storage/frontend/psa/its"
+		"components/service/secure_storage/backend/secure_storage_client"
+)
+
+target_sources(psa-api-test PRIVATE
+	${TS_ROOT}/deployments/psa-api-test/internal_trusted_storage/its_locator.c
+)
+
+#-------------------------------------------------------------------------------
+#  Extend with components that are common across all deployments of
+#  psa-api-test
+#-------------------------------------------------------------------------------
+include(../../psa-api-test.cmake REQUIRED)
diff --git a/deployments/psa-api-test/internal_trusted_storage/its_locator.c b/deployments/psa-api-test/internal_trusted_storage/its_locator.c
new file mode 100644
index 0000000..e100328
--- /dev/null
+++ b/deployments/psa-api-test/internal_trusted_storage/its_locator.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <stddef.h>
+#include <service_locator.h>
+#include <service/secure_storage/frontend/psa/its/its_frontend.h>
+#include <service/secure_storage/backend/secure_storage_client/secure_storage_client.h>
+#include <protocols/rpc/common/packed-c/encoding.h>
+#include "../service_under_test.h"
+
+/* RPC context */
+static rpc_session_handle session_handle = NULL;
+static struct service_context *ps_service_context = NULL;
+static struct secure_storage_client storage_client;
+
+int locate_service_under_test(struct logging_caller *call_logger)
+{
+	int status = -1;
+
+	if (!session_handle && !ps_service_context) {
+
+		struct rpc_caller *caller;
+
+		ps_service_context =
+			service_locator_query("sn:trustedfirmware.org:internal-trusted-storage:0", &status);
+
+		if (ps_service_context) {
+
+			session_handle =
+				service_context_open(ps_service_context, TS_RPC_ENCODING_PACKED_C, &caller);
+
+			if (session_handle) {
+
+				struct storage_backend *storage_backend = NULL;
+				status = -1;
+
+				if (call_logger) {
+
+					storage_backend = secure_storage_client_init(&storage_client,
+						logging_caller_attach(call_logger, caller));
+				}
+				else {
+
+					storage_backend = secure_storage_client_init(&storage_client,  caller);
+				}
+
+				if (storage_backend) {
+
+					psa_its_frontend_init(storage_backend);
+					status = 0;
+				}
+			}
+
+			if (status < 0) relinquish_service_under_test();
+		}
+	}
+
+	return status;
+}
+
+void relinquish_service_under_test(void)
+{
+	psa_its_frontend_init(NULL);
+	secure_storage_client_deinit(&storage_client);
+
+	if (ps_service_context && session_handle) {
+
+		service_context_close(ps_service_context, session_handle);
+		session_handle = NULL;
+	}
+
+	if (ps_service_context) {
+
+		service_context_relinquish(ps_service_context);
+		ps_service_context = NULL;
+	}
+}
diff --git a/deployments/psa-api-test/internal_trusted_storage/linux-pc/CMakeLists.txt b/deployments/psa-api-test/internal_trusted_storage/linux-pc/CMakeLists.txt
new file mode 100644
index 0000000..941d47f
--- /dev/null
+++ b/deployments/psa-api-test/internal_trusted_storage/linux-pc/CMakeLists.txt
@@ -0,0 +1,27 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+cmake_minimum_required(VERSION 3.16)
+include(../../../deployment.cmake REQUIRED)
+include(../../psa-api-test-config.cmake REQUIRED)
+
+#-------------------------------------------------------------------------------
+#  The CMakeLists.txt for building the psa-api-test/internal_trusted_storage
+#  deployment for linux-pc
+#
+#  Used for building and running psa arch tests in a native PC enviroment.
+#  Tests can be run by running the built executable called "psa-api-test"
+#-------------------------------------------------------------------------------
+include(${TS_ROOT}/environments/linux-pc/env.cmake)
+project(trusted-services LANGUAGES CXX C)
+add_executable(psa-api-test)
+target_include_directories(psa-api-test PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
+
+#-------------------------------------------------------------------------------
+#  Extend with components that are common across all deployments of
+#  psa-api-test/internal_trusted_storage
+#-------------------------------------------------------------------------------
+include(../its-api-test.cmake REQUIRED)
diff --git a/deployments/psa-api-test/protected_storage/arm-linux/CMakeLists.txt b/deployments/psa-api-test/protected_storage/arm-linux/CMakeLists.txt
new file mode 100644
index 0000000..f1dd4a3
--- /dev/null
+++ b/deployments/psa-api-test/protected_storage/arm-linux/CMakeLists.txt
@@ -0,0 +1,25 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+cmake_minimum_required(VERSION 3.16)
+include(../../../deployment.cmake REQUIRED)
+include(../../psa-api-test-config.cmake REQUIRED)
+
+#-------------------------------------------------------------------------------
+#  The CMakeLists.txt for building the psa-api-test deployment for arm-linux
+#
+#  Used for building and running psa arch tests on an Arm based Linux device
+#-------------------------------------------------------------------------------
+include(${TS_ROOT}/environments/arm-linux/env.cmake)
+project(trusted-services LANGUAGES CXX C)
+add_executable(psa-api-test)
+target_include_directories(psa-api-test PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
+
+#-------------------------------------------------------------------------------
+#  Extend with components that are common across all deployments of
+#  psa-api-test/protected_storage
+#-------------------------------------------------------------------------------
+include(../ps-api-test.cmake REQUIRED)
diff --git a/deployments/psa-api-test/protected_storage/linux-pc/CMakeLists.txt b/deployments/psa-api-test/protected_storage/linux-pc/CMakeLists.txt
new file mode 100644
index 0000000..7b8756a
--- /dev/null
+++ b/deployments/psa-api-test/protected_storage/linux-pc/CMakeLists.txt
@@ -0,0 +1,27 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+cmake_minimum_required(VERSION 3.16)
+include(../../../deployment.cmake REQUIRED)
+include(../../psa-api-test-config.cmake REQUIRED)
+
+#-------------------------------------------------------------------------------
+#  The CMakeLists.txt for building the psa-api-test/protected_storage deployment
+#  for linux-pc
+#
+#  Used for building and running psa arch tests in a native PC enviroment.
+#  Tests can be run by running the built executable called "psa-api-test"
+#-------------------------------------------------------------------------------
+include(${TS_ROOT}/environments/linux-pc/env.cmake)
+project(trusted-services LANGUAGES CXX C)
+add_executable(psa-api-test)
+target_include_directories(psa-api-test PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
+
+#-------------------------------------------------------------------------------
+#  Extend with components that are common across all deployments of
+#  psa-api-test/protected_storage
+#-------------------------------------------------------------------------------
+include(../ps-api-test.cmake REQUIRED)
diff --git a/deployments/psa-api-test/protected_storage/ps-api-test.cmake b/deployments/psa-api-test/protected_storage/ps-api-test.cmake
new file mode 100644
index 0000000..fae1161
--- /dev/null
+++ b/deployments/psa-api-test/protected_storage/ps-api-test.cmake
@@ -0,0 +1,42 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+#  Define test suite to build.  Used by the psa_arch_tests external component
+#  to configure what test suite gets built.
+#-------------------------------------------------------------------------------
+set(TS_ARCH_TEST_SUITE PROTECTED_STORAGE CACHE STRING "Arch test suite")
+
+#-------------------------------------------------------------------------------
+#  The arch test build system puts its build output under a test suite specific
+#  subdirectory.  The subdirectory name is different from the test suite name
+#  so an additional define is needed to obtain the built library.
+#-------------------------------------------------------------------------------
+set(TS_ARCH_TEST_BUILD_SUBDIR storage CACHE STRING "Arch test build subdirectory")
+
+#-------------------------------------------------------------------------------
+#  Crypto specific components
+#
+#-------------------------------------------------------------------------------
+add_components(
+	TARGET "psa-api-test"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		"components/service/secure_storage/include"
+		"components/service/secure_storage/frontend/psa/ps"
+		"components/service/secure_storage/backend/secure_storage_client"
+)
+
+target_sources(psa-api-test PRIVATE
+	${TS_ROOT}/deployments/psa-api-test/protected_storage/ps_locator.c
+)
+
+#-------------------------------------------------------------------------------
+#  Extend with components that are common across all deployments of
+#  psa-api-test
+#-------------------------------------------------------------------------------
+include(../../psa-api-test.cmake REQUIRED)
diff --git a/deployments/psa-api-test/protected_storage/ps_locator.c b/deployments/psa-api-test/protected_storage/ps_locator.c
new file mode 100644
index 0000000..3ed35b6
--- /dev/null
+++ b/deployments/psa-api-test/protected_storage/ps_locator.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <stddef.h>
+#include <service_locator.h>
+#include <service/secure_storage/frontend/psa/ps/ps_frontend.h>
+#include <service/secure_storage/backend/secure_storage_client/secure_storage_client.h>
+#include <protocols/rpc/common/packed-c/encoding.h>
+#include "../service_under_test.h"
+
+/* RPC context */
+static rpc_session_handle session_handle = NULL;
+static struct service_context *ps_service_context = NULL;
+static struct secure_storage_client storage_client;
+
+int locate_service_under_test(struct logging_caller *call_logger)
+{
+	int status = -1;
+
+	if (!session_handle && !ps_service_context) {
+
+		struct rpc_caller *caller;
+
+		ps_service_context =
+			service_locator_query("sn:trustedfirmware.org:protected-storage:0", &status);
+
+		if (ps_service_context) {
+
+			session_handle =
+				service_context_open(ps_service_context, TS_RPC_ENCODING_PACKED_C, &caller);
+
+			if (session_handle) {
+
+				struct storage_backend *storage_backend = NULL;
+				status = -1;
+
+				if (call_logger) {
+
+					storage_backend = secure_storage_client_init(&storage_client,
+						logging_caller_attach(call_logger, caller));
+				}
+				else {
+
+					storage_backend = secure_storage_client_init(&storage_client,  caller);
+				}
+
+				if (storage_backend) {
+
+					psa_ps_frontend_init(storage_backend);
+					status = 0;
+				}
+			}
+
+			if (status < 0) relinquish_service_under_test();
+		}
+	}
+
+	return status;
+}
+
+void relinquish_service_under_test(void)
+{
+	psa_ps_frontend_init(NULL);
+	secure_storage_client_deinit(&storage_client);
+
+	if (ps_service_context && session_handle) {
+
+		service_context_close(ps_service_context, session_handle);
+		session_handle = NULL;
+	}
+
+	if (ps_service_context) {
+
+		service_context_relinquish(ps_service_context);
+		ps_service_context = NULL;
+	}
+}
diff --git a/external/psa_arch_tests/psa_arch_tests.cmake b/external/psa_arch_tests/psa_arch_tests.cmake
index 6a892d9..97e49af 100644
--- a/external/psa_arch_tests/psa_arch_tests.cmake
+++ b/external/psa_arch_tests/psa_arch_tests.cmake
@@ -77,10 +77,13 @@
 
 # Create targets for generated libraries
 add_library(test_combine STATIC IMPORTED)
-set_property(TARGET test_combine PROPERTY IMPORTED_LOCATION "${psa-arch-tests_BINARY_DIR}/dev_apis/crypto/test_combine${CMAKE_STATIC_LIBRARY_SUFFIX}")
+set_property(TARGET test_combine PROPERTY IMPORTED_LOCATION
+	"${psa-arch-tests_BINARY_DIR}/dev_apis/${TS_ARCH_TEST_BUILD_SUBDIR}/test_combine${CMAKE_STATIC_LIBRARY_SUFFIX}")
 
 add_library(val_nspe STATIC IMPORTED)
-set_property(TARGET val_nspe PROPERTY IMPORTED_LOCATION "${psa-arch-tests_BINARY_DIR}/val/val_nspe${CMAKE_STATIC_LIBRARY_SUFFIX}")
+set_property(TARGET val_nspe PROPERTY IMPORTED_LOCATION
+	"${psa-arch-tests_BINARY_DIR}/val/val_nspe${CMAKE_STATIC_LIBRARY_SUFFIX}")
 
 add_library(pal_nspe STATIC IMPORTED)
-set_property(TARGET pal_nspe PROPERTY IMPORTED_LOCATION "${psa-arch-tests_BINARY_DIR}/platform/pal_nspe${CMAKE_STATIC_LIBRARY_SUFFIX}")
+set_property(TARGET pal_nspe PROPERTY IMPORTED_LOCATION
+	"${psa-arch-tests_BINARY_DIR}/platform/pal_nspe${CMAKE_STATIC_LIBRARY_SUFFIX}")
diff --git a/tools/b-test/test_data.yaml b/tools/b-test/test_data.yaml
index 1abfeb7..e496741 100644
--- a/tools/b-test/test_data.yaml
+++ b/tools/b-test/test_data.yaml
@@ -52,6 +52,26 @@
       os_id : "GNU/Linux"
       params:
             - "-GUnix Makefiles"
+    - name: "psa-api-test-protected_storage-pc-linux"
+      src: "$TS_ROOT/deployments/psa-api-test/protected_storage/linux-pc"
+      os_id : "GNU/Linux"
+      params:
+            - "-GUnix Makefiles"
+    - name: "psa-api-test-protected_storage-arm-linux"
+      src: "$TS_ROOT/deployments/psa-api-test/protected_storage/arm-linux"
+      os_id : "GNU/Linux"
+      params:
+            - "-GUnix Makefiles"
+    - name: "psa-api-test-internal_trusted_storage-pc-linux"
+      src: "$TS_ROOT/deployments/psa-api-test/internal_trusted_storage/linux-pc"
+      os_id : "GNU/Linux"
+      params:
+            - "-GUnix Makefiles"
+    - name: "psa-api-test-internal_trusted_storage-arm-linux"
+      src: "$TS_ROOT/deployments/psa-api-test/internal_trusted_storage/arm-linux"
+      os_id : "GNU/Linux"
+      params:
+            - "-GUnix Makefiles"
     - name: "se-proxy-optee-arm"
       src: "$TS_ROOT/deployments/se-proxy/opteesp"
       params: