Merge 'integration' into 'topics/corstone1000'
Refresh the topic branch from integration. Refactor se-proxy
deployment to align with deployment structure changes:
- introduce a CS1K specific infrastructure to se-proxy
deployment
- restore HW independence of "stub" infra of se-proxy
- clean up components added from se-proxy.cmake and
se_proxy_sp.cmake (remove duplicates and add what's missing)
Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Change-Id: Ib7f2c25c5057e95771cc16c3774759933e3f2c9c
diff --git a/deployments/se-proxy/opteesp/CMakeLists.txt b/deployments/se-proxy/config/corstone-1000-opteesp/CMakeLists.txt
similarity index 75%
copy from deployments/se-proxy/opteesp/CMakeLists.txt
copy to deployments/se-proxy/config/corstone-1000-opteesp/CMakeLists.txt
index fadbf72..4e26c53 100644
--- a/deployments/se-proxy/opteesp/CMakeLists.txt
+++ b/deployments/se-proxy/config/corstone-1000-opteesp/CMakeLists.txt
@@ -1,5 +1,5 @@
#-------------------------------------------------------------------------------
-# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+# Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -7,15 +7,13 @@
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
# Set default platform.
-set(TS_PLATFORM "arm/fvp/fvp_base_revc-2xaemv8a" CACHE STRING "Target platform location.")
-include(../../deployment.cmake REQUIRED)
+set(TS_PLATFORM "arm/corstone1000" CACHE STRING "Target platform location.")
+include(../../../deployment.cmake REQUIRED)
#-------------------------------------------------------------------------------
-# The CMakeLists.txt for building the se-proxy deployment for opteesp
+# The CMakeLists.txt for building the se-proxy deployment for Corstone-1000
+# using the "opteesp" environment.
#
-# Builds proxy service providers that communicate with a separate secure element
-# that hosts a set of service endpoints. This deployment is for running in an
-# SEL0 secure partition hosted by OPTEE in the role of SPM.
#-------------------------------------------------------------------------------
include(${TS_ROOT}/environments/opteesp/env.cmake)
project(trusted-services LANGUAGES C ASM)
@@ -30,6 +28,10 @@
SP_NAME "se-proxy"
)
+target_include_directories(se-proxy PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}
+)
+
#-------------------------------------------------------------------------------
# Components that are specific to deployment in the opteesp environment.
#
@@ -40,7 +42,9 @@
"environments/opteesp"
)
-include(../se-proxy.cmake REQUIRED)
+include(../../env/commonsp/se_proxy_sp.cmake REQUIRED)
+include(../../infra/corstone-1000/infra.cmake REQUIRED)
+include(../../se-proxy.cmake REQUIRED)
#-------------------------------------------------------------------------------
# Set target platform to provide drivers needed by the deployment
@@ -48,15 +52,13 @@
#-------------------------------------------------------------------------------
add_platform(TARGET "se-proxy")
-
+#-------------------------------------------------------------------------------
+# Deployment specific build options
+#-------------------------------------------------------------------------------
target_compile_definitions(se-proxy PRIVATE
ARM64=1
)
-target_include_directories(se-proxy PRIVATE
- ${TS_ROOT}/deployments/se-proxy/opteesp
-)
-
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
target_compile_options(se-proxy PRIVATE
-std=c99
@@ -66,7 +68,9 @@
compiler_generate_stripped_elf(TARGET se-proxy NAME "${SP_UUID_CANON}.stripped.elf" RES STRIPPED_ELF)
-######################################## install
+#-------------------------------------------------------------------------------
+# Deployment specific install options
+#-------------------------------------------------------------------------------
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
endif()
diff --git a/deployments/se-proxy/opteesp/default_se-proxy.dts.in b/deployments/se-proxy/config/corstone-1000-opteesp/default_se-proxy.dts.in
similarity index 90%
rename from deployments/se-proxy/opteesp/default_se-proxy.dts.in
rename to deployments/se-proxy/config/corstone-1000-opteesp/default_se-proxy.dts.in
index a191c76..d0fa26a 100644
--- a/deployments/se-proxy/opteesp/default_se-proxy.dts.in
+++ b/deployments/se-proxy/config/corstone-1000-opteesp/default_se-proxy.dts.in
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -16,7 +16,7 @@
execution-state = <0>; /* AArch64 */
xlat-granule = <0>; /* 4KiB */
messaging-method = <3>; /* Direct messaging only */
- legacy-elf-format = <1>;
+ elf-format = <1>;
device-regions {
compatible = "arm,ffa-manifest-device-regions";
diff --git a/deployments/se-proxy/config/corstone-1000-opteesp/optee_sp_user_defines.h b/deployments/se-proxy/config/corstone-1000-opteesp/optee_sp_user_defines.h
new file mode 100644
index 0000000..efc1dfa
--- /dev/null
+++ b/deployments/se-proxy/config/corstone-1000-opteesp/optee_sp_user_defines.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause */
+/*
+ * Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
+ */
+
+#ifndef SP_HEADER_DEFINES_H
+#define SP_HEADER_DEFINES_H
+
+#define OPTEE_SP_FLAGS 0
+
+/* Provisioned stack size */
+#define OPTEE_SP_STACK_SIZE (64 * 1024)
+
+#endif /* SP_HEADER_DEFINES_H */
diff --git a/deployments/se-proxy/opteesp/CMakeLists.txt b/deployments/se-proxy/config/default-opteesp/CMakeLists.txt
similarity index 83%
rename from deployments/se-proxy/opteesp/CMakeLists.txt
rename to deployments/se-proxy/config/default-opteesp/CMakeLists.txt
index fadbf72..5ecef65 100644
--- a/deployments/se-proxy/opteesp/CMakeLists.txt
+++ b/deployments/se-proxy/config/default-opteesp/CMakeLists.txt
@@ -8,7 +8,7 @@
# Set default platform.
set(TS_PLATFORM "arm/fvp/fvp_base_revc-2xaemv8a" CACHE STRING "Target platform location.")
-include(../../deployment.cmake REQUIRED)
+include(../../../deployment.cmake REQUIRED)
#-------------------------------------------------------------------------------
# The CMakeLists.txt for building the se-proxy deployment for opteesp
@@ -30,6 +30,10 @@
SP_NAME "se-proxy"
)
+target_include_directories(se-proxy PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}
+)
+
#-------------------------------------------------------------------------------
# Components that are specific to deployment in the opteesp environment.
#
@@ -40,7 +44,9 @@
"environments/opteesp"
)
-include(../se-proxy.cmake REQUIRED)
+include(../../env/commonsp/se_proxy_sp.cmake REQUIRED)
+include(../../infra/stub/stub.cmake REQUIRED)
+include(../../se-proxy.cmake REQUIRED)
#-------------------------------------------------------------------------------
# Set target platform to provide drivers needed by the deployment
@@ -48,15 +54,13 @@
#-------------------------------------------------------------------------------
add_platform(TARGET "se-proxy")
-
+#-------------------------------------------------------------------------------
+# Deployment specific build options
+#-------------------------------------------------------------------------------
target_compile_definitions(se-proxy PRIVATE
ARM64=1
)
-target_include_directories(se-proxy PRIVATE
- ${TS_ROOT}/deployments/se-proxy/opteesp
-)
-
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
target_compile_options(se-proxy PRIVATE
-std=c99
@@ -66,7 +70,9 @@
compiler_generate_stripped_elf(TARGET se-proxy NAME "${SP_UUID_CANON}.stripped.elf" RES STRIPPED_ELF)
-######################################## install
+#-------------------------------------------------------------------------------
+# Deployment specific install options
+#-------------------------------------------------------------------------------
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
endif()
diff --git a/deployments/se-proxy/config/default-opteesp/default_se-proxy.dts.in b/deployments/se-proxy/config/default-opteesp/default_se-proxy.dts.in
new file mode 100644
index 0000000..732bae3
--- /dev/null
+++ b/deployments/se-proxy/config/default-opteesp/default_se-proxy.dts.in
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+@DTS_TAG@
+
+@DTS_NODE@ {
+ compatible = "arm,ffa-manifest-1.0";
+ ffa-version = <0x00010000>; /* 31:16 - Major, 15:0 - Minor */
+ uuid = <@EXPORT_SP_UUID_DT@>;
+ description = "SE Proxy";
+ execution-ctx-count = <1>;
+ exception-level = <1>; /* S-EL0 */
+ execution-state = <0>; /* AArch64 */
+ xlat-granule = <0>; /* 4KiB */
+ messaging-method = <3>; /* Direct messaging only */
+ elf-format = <1>;
+};
diff --git a/deployments/se-proxy/opteesp/optee_sp_user_defines.h b/deployments/se-proxy/config/default-opteesp/optee_sp_user_defines.h
similarity index 100%
rename from deployments/se-proxy/opteesp/optee_sp_user_defines.h
rename to deployments/se-proxy/config/default-opteesp/optee_sp_user_defines.h
diff --git a/deployments/se-proxy/sp/CMakeLists.txt b/deployments/se-proxy/config/default-sp/CMakeLists.txt
similarity index 84%
rename from deployments/se-proxy/sp/CMakeLists.txt
rename to deployments/se-proxy/config/default-sp/CMakeLists.txt
index ea95008..f6c1f0d 100644
--- a/deployments/se-proxy/sp/CMakeLists.txt
+++ b/deployments/se-proxy/config/default-sp/CMakeLists.txt
@@ -8,7 +8,7 @@
# Set default platform.
set(TS_PLATFORM "arm/fvp/fvp_base_revc-2xaemv8a" CACHE STRING "Target platform location.")
-include(../../deployment.cmake REQUIRED)
+include(../../../deployment.cmake REQUIRED)
#-------------------------------------------------------------------------------
# The CMakeLists.txt for building the se-proxy deployment for generic sp
@@ -40,7 +40,9 @@
environments/sp
)
-include(../se-proxy.cmake REQUIRED)
+include(../../env/commonsp/se_proxy_sp.cmake REQUIRED)
+include(../../infra/stub/stub.cmake REQUIRED)
+include(../../se-proxy.cmake REQUIRED)
#-------------------------------------------------------------------------------
# Set target platform to provide drivers needed by the deployment
@@ -48,7 +50,9 @@
#-------------------------------------------------------------------------------
add_platform(TARGET "se-proxy")
-
+#-------------------------------------------------------------------------------
+# Deployment specific build options
+#-------------------------------------------------------------------------------
target_compile_definitions(se-proxy PRIVATE
ARM64=1
)
@@ -66,7 +70,9 @@
include(${TS_ROOT}/tools/cmake/common/ExportMemoryRegionsToManifest.cmake REQUIRED)
export_memory_regions_to_manifest(TARGET se-proxy NAME "${SP_UUID_CANON}_memory_regions.dtsi" RES EXPORT_MEMORY_REGIONS_DTSI)
-######################################## install
+#-------------------------------------------------------------------------------
+# Deployment specific install options
+#-------------------------------------------------------------------------------
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
endif()
diff --git a/deployments/se-proxy/sp/default_se-proxy.dts.in b/deployments/se-proxy/config/default-sp/default_se-proxy.dts.in
similarity index 100%
rename from deployments/se-proxy/sp/default_se-proxy.dts.in
rename to deployments/se-proxy/config/default-sp/default_se-proxy.dts.in
diff --git a/deployments/se-proxy/common/se_proxy_sp.c b/deployments/se-proxy/env/commonsp/se_proxy_sp.c
similarity index 96%
rename from deployments/se-proxy/common/se_proxy_sp.c
rename to deployments/se-proxy/env/commonsp/se_proxy_sp.c
index a37396f..45fcb38 100644
--- a/deployments/se-proxy/common/se_proxy_sp.c
+++ b/deployments/se-proxy/env/commonsp/se_proxy_sp.c
@@ -11,8 +11,8 @@
#include "sp_discovery.h"
#include "sp_rxtx.h"
#include "trace.h"
-#include "service_proxy_factory.h"
-#include "../se_proxy_interfaces.h"
+#include "deployments/se-proxy/infra/service_proxy_factory.h"
+#include "deployments/se-proxy/se_proxy_interfaces.h"
static bool sp_init(uint16_t *own_sp_id);
diff --git a/deployments/se-proxy/env/commonsp/se_proxy_sp.cmake b/deployments/se-proxy/env/commonsp/se_proxy_sp.cmake
new file mode 100644
index 0000000..32bb8e9
--- /dev/null
+++ b/deployments/se-proxy/env/commonsp/se_proxy_sp.cmake
@@ -0,0 +1,28 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Includes components needed for deploying the se-proxy service provider
+# within a secure partition.
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Common components for se-proxy sp deployments
+#
+#-------------------------------------------------------------------------------
+add_components(TARGET "se-proxy"
+ BASE_DIR ${TS_ROOT}
+ COMPONENTS
+ "components/common/fdt"
+ "components/common/trace"
+ "components/common/utils"
+ "components/config/ramstore"
+ "components/config/loader/sp"
+ "components/messaging/ffa/libsp"
+ "components/rpc/ffarpc/endpoint"
+)
+
+target_sources(se-proxy PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}/se_proxy_sp.c
+)
diff --git a/deployments/se-proxy/common/se_proxy_sp.h b/deployments/se-proxy/env/commonsp/se_proxy_sp.h
similarity index 100%
rename from deployments/se-proxy/common/se_proxy_sp.h
rename to deployments/se-proxy/env/commonsp/se_proxy_sp.h
diff --git a/deployments/se-proxy/infra/corstone-1000/infra.cmake b/deployments/se-proxy/infra/corstone-1000/infra.cmake
new file mode 100644
index 0000000..675f2cd
--- /dev/null
+++ b/deployments/se-proxy/infra/corstone-1000/infra.cmake
@@ -0,0 +1,37 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# A stub infrastructure for the se-proxy. Infrastructure dependencies are all
+# realized with stub components that do absolutely nothing.
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Infrastructure components
+#
+#-------------------------------------------------------------------------------
+add_components(TARGET "se-proxy"
+ BASE_DIR ${TS_ROOT}
+ COMPONENTS
+ "components/rpc/common/caller"
+ "components/rpc/psa_ipc"
+ "components/messaging/openamp/sp"
+ "components/service/attestation/client/psa_ipc"
+ "components/service/attestation/key_mngr/local"
+ "components/service/attestation/reporter/psa_ipc"
+ "components/service/crypto/backend/psa_ipc"
+ "components/service/secure_storage/backend/secure_storage_ipc"
+)
+
+# libmetal
+include(${TS_ROOT}/external/openamp/libmetal.cmake)
+
+# OpenAMP
+include(${TS_ROOT}/external/openamp/openamp.cmake)
+target_link_libraries(se-proxy PRIVATE openamp libmetal)
+
+target_sources(se-proxy PRIVATE
+
+ ${CMAKE_CURRENT_LIST_DIR}/service_proxy_factory.c
+)
diff --git a/deployments/se-proxy/common/service_proxy_factory.c b/deployments/se-proxy/infra/corstone-1000/service_proxy_factory.c
similarity index 100%
rename from deployments/se-proxy/common/service_proxy_factory.c
rename to deployments/se-proxy/infra/corstone-1000/service_proxy_factory.c
diff --git a/deployments/se-proxy/common/service_proxy_factory.h b/deployments/se-proxy/infra/service_proxy_factory.h
similarity index 100%
rename from deployments/se-proxy/common/service_proxy_factory.h
rename to deployments/se-proxy/infra/service_proxy_factory.h
diff --git a/deployments/se-proxy/infra/stub/service_proxy_factory.c b/deployments/se-proxy/infra/stub/service_proxy_factory.c
new file mode 100644
index 0000000..acfb6e8
--- /dev/null
+++ b/deployments/se-proxy/infra/stub/service_proxy_factory.c
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <stddef.h>
+#include <rpc/common/endpoint/rpc_interface.h>
+#include <service/attestation/provider/attest_provider.h>
+#include <service/attestation/provider/serializer/packed-c/packedc_attest_provider_serializer.h>
+#include <service/crypto/factory/crypto_provider_factory.h>
+#include <service/secure_storage/frontend/secure_storage_provider/secure_storage_provider.h>
+
+/* Stub backends */
+#include <service/crypto/backend/stub/stub_crypto_backend.h>
+#include <service/secure_storage/backend/mock_store/mock_store.h>
+
+struct rpc_interface *attest_proxy_create(void)
+{
+ struct rpc_interface *attest_iface;
+
+ /* Static objects for proxy instance */
+ static struct attest_provider attest_provider;
+
+ /* Initialize the service provider */
+ attest_iface = attest_provider_init(&attest_provider);
+
+ attest_provider_register_serializer(&attest_provider,
+ TS_RPC_ENCODING_PACKED_C, packedc_attest_provider_serializer_instance());
+
+ return attest_iface;
+}
+
+struct rpc_interface *crypto_proxy_create(void)
+{
+ struct rpc_interface *crypto_iface = NULL;
+ struct crypto_provider *crypto_provider;
+
+ if (stub_crypto_backend_init() == PSA_SUCCESS) {
+
+ crypto_provider = crypto_provider_factory_create();
+ crypto_iface = service_provider_get_rpc_interface(&crypto_provider->base_provider);
+ }
+
+ return crypto_iface;
+}
+
+struct rpc_interface *ps_proxy_create(void)
+{
+ static struct mock_store ps_backend;
+ static struct secure_storage_provider ps_provider;
+
+ struct storage_backend *backend = mock_store_init(&ps_backend);
+
+ return secure_storage_provider_init(&ps_provider, backend);
+}
+
+struct rpc_interface *its_proxy_create(void)
+{
+ static struct mock_store its_backend;
+ static struct secure_storage_provider its_provider;
+
+ struct storage_backend *backend = mock_store_init(&its_backend);
+
+ return secure_storage_provider_init(&its_provider, backend);
+}
diff --git a/deployments/se-proxy/infra/stub/stub.cmake b/deployments/se-proxy/infra/stub/stub.cmake
new file mode 100644
index 0000000..a364f8d
--- /dev/null
+++ b/deployments/se-proxy/infra/stub/stub.cmake
@@ -0,0 +1,29 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# A stub infrastructure for the se-proxy. Infrastructure dependencies are all
+# realized with stub components that do absolutely nothing.
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Infrastructure components
+#
+#-------------------------------------------------------------------------------
+add_components(TARGET "se-proxy"
+ BASE_DIR ${TS_ROOT}
+ COMPONENTS
+ "components/rpc/dummy"
+ "components/rpc/common/caller"
+ "components/service/attestation/reporter/stub"
+ "components/service/attestation/key_mngr/stub"
+ "components/service/crypto/backend/stub"
+ "components/service/crypto/client/psa"
+ "components/service/secure_storage/backend/mock_store"
+)
+
+target_sources(se-proxy PRIVATE
+
+ ${CMAKE_CURRENT_LIST_DIR}/service_proxy_factory.c
+)
diff --git a/deployments/se-proxy/se-proxy.cmake b/deployments/se-proxy/se-proxy.cmake
index 76056c1..2643cfb 100644
--- a/deployments/se-proxy/se-proxy.cmake
+++ b/deployments/se-proxy/se-proxy.cmake
@@ -8,18 +8,7 @@
add_components(TARGET "se-proxy"
BASE_DIR ${TS_ROOT}
COMPONENTS
- "components/common/fdt"
- "components/common/trace"
- "components/common/utils"
- "protocols/rpc/common/packed-c"
- "protocols/service/secure_storage/packed-c"
- "protocols/service/crypto/protobuf"
"components/common/tlv"
- "components/config/ramstore"
- "components/config/loader/sp"
- "components/messaging/ffa/libsp"
- "components/rpc/ffarpc/endpoint"
- "components/rpc/psa_ipc"
"components/rpc/common/interface"
"components/rpc/common/demux"
"components/service/common/include"
@@ -28,6 +17,7 @@
"components/service/common/provider"
"components/service/discovery/provider"
"components/service/discovery/provider/serializer/packed-c"
+ "components/service/crypto/client/psa"
"components/service/crypto/include"
"components/service/crypto/provider"
"components/service/crypto/provider/serializer/protobuf"
@@ -45,26 +35,12 @@
"components/service/crypto/factory/full"
"components/service/secure_storage/include"
"components/service/secure_storage/frontend/secure_storage_provider"
- "components/service/secure_storage/backend/secure_storage_ipc"
"components/service/attestation/include"
"components/service/attestation/provider"
"components/service/attestation/provider/serializer/packed-c"
- "components/service/attestation/reporter/psa_ipc"
- "components/service/attestation/client/psa_ipc"
- "components/messaging/openamp/sp"
-
- # Stub service provider backends
- "components/rpc/dummy"
- "components/rpc/common/caller"
- "components/service/attestation/key_mngr/local"
- "components/service/crypto/backend/psa_ipc"
- "components/service/crypto/client/psa"
- "components/service/secure_storage/backend/mock_store"
-)
-
-target_sources(se-proxy PRIVATE
- ${CMAKE_CURRENT_LIST_DIR}/common/se_proxy_sp.c
- ${CMAKE_CURRENT_LIST_DIR}/common/service_proxy_factory.c
+ "protocols/rpc/common/packed-c"
+ "protocols/service/secure_storage/packed-c"
+ "protocols/service/crypto/protobuf"
)
#-------------------------------------------------------------------------------
@@ -73,17 +49,10 @@
#-------------------------------------------------------------------------------
# Nanopb
-include(../../../external/nanopb/nanopb.cmake)
+include(${TS_ROOT}/external/nanopb/nanopb.cmake)
target_link_libraries(se-proxy PRIVATE nanopb::protobuf-nanopb-static)
protobuf_generate_all(TGT "se-proxy" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
-# libmetal
-include(../../../external/openamp/libmetal.cmake)
-
-# OpenAMP
-include(../../../external/openamp/openamp.cmake)
-target_link_libraries(se-proxy PRIVATE openamp libmetal)
-
#################################################################
target_include_directories(se-proxy PRIVATE