Hybrid Platform: Introduce PSA APIs broker
Non-secure applications request services to the secure side via standard
PSA API calls.
The implementation of these APIs is selected at build time between either
the TrustZone or the mailbox interface.
In Homogeneous Hybrid Platforms, where NS applications run on both local
and remote processors - and execute a common binary - both interfaces
must be available at the same time, but only one being used, depending on
the execution context.
This patch integrates a runtime redirection to allow the local client
to use the TrustZone path, while the remote clients use the mailbox path.
The component responsible for this redirection is the 'api_broker' which
can be enabled by setting ``TFM_HYBRID_PLATFORM_API_BROKER`` to ``ON``.
Its default value is OFF.
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: I3de435192df663dcd62ec24aa90456efcb8603a1
diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt
index 095450a..e16ba6c 100644
--- a/interface/CMakeLists.txt
+++ b/interface/CMakeLists.txt
@@ -1,5 +1,5 @@
#-------------------------------------------------------------------------------
-# Copyright (c) 2020-2023, Arm Limited. All rights reserved.
+# SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors
# Copyright (c) 2022 Cypress Semiconductor Corporation (an Infineon company)
# or an affiliate of Cypress Semiconductor Corporation. All rights reserved.
#
@@ -39,6 +39,7 @@
$<$<BOOL:${TFM_MULTI_CORE_TOPOLOGY}>:TFM_MULTI_CORE_TOPOLOGY>
$<$<BOOL:${CONFIG_TFM_PARTITION_META}>:CONFIG_TFM_PARTITION_META>
$<$<BOOL:${TEST_NS_MULTI_CORE}>:TFM_MULTI_CORE_TEST>
+ $<$<BOOL:${TFM_HYBRID_PLATFORM_API_BROKER}>:TFM_HYBRID_PLATFORM_API_BROKER>
)
add_dependencies(psa_interface manifest_tool)