Separate the generic part of SP deployments
Move the non opteesp environment dependent code of SP deployments into
a separate directory and split CMake files into a generic and an
environment specific part.
Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: I4f09d6d3adef07644e98f2a05d6cb077a92b385b
diff --git a/deployments/smm-gateway/smm_gateway.c b/deployments/smm-gateway/common/smm_gateway.c
similarity index 100%
rename from deployments/smm-gateway/smm_gateway.c
rename to deployments/smm-gateway/common/smm_gateway.c
diff --git a/deployments/smm-gateway/smm_gateway.h b/deployments/smm-gateway/common/smm_gateway.h
similarity index 100%
rename from deployments/smm-gateway/smm_gateway.h
rename to deployments/smm-gateway/common/smm_gateway.h
diff --git a/deployments/smm-gateway/opteesp/smm_gateway_sp.c b/deployments/smm-gateway/common/smm_gateway_sp.c
similarity index 96%
rename from deployments/smm-gateway/opteesp/smm_gateway_sp.c
rename to deployments/smm-gateway/common/smm_gateway_sp.c
index 6f13885..2187fea 100644
--- a/deployments/smm-gateway/opteesp/smm_gateway_sp.c
+++ b/deployments/smm-gateway/common/smm_gateway_sp.c
@@ -1,10 +1,10 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
*/
#include <rpc/ffarpc/endpoint/ffarpc_call_ep.h>
-#include <deployments/smm-gateway/smm_gateway.h>
+#include "smm_gateway.h"
#include <config/ramstore/config_ramstore.h>
#include "config/interface/config_store.h"
#include <config/loader/sp/sp_config_loader.h>
diff --git a/deployments/smm-gateway/common/smm_gateway_sp.h b/deployments/smm-gateway/common/smm_gateway_sp.h
new file mode 100644
index 0000000..13317e7
--- /dev/null
+++ b/deployments/smm-gateway/common/smm_gateway_sp.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef SMM_GATEWAY_SP_H
+#define SMM_GATEWAY_SP_H
+
+#define SMM_GATEWAY_UUID_BYTES \
+ {0xed, 0x32, 0xd5, 0x33, 0x99, 0xe6, 0x42, 0x09, \
+ 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7}
+
+#endif /* SMM_GATEWAY_SP_H */
diff --git a/deployments/smm-gateway/opteesp/CMakeLists.txt b/deployments/smm-gateway/opteesp/CMakeLists.txt
index ab471e2..0462699 100644
--- a/deployments/smm-gateway/opteesp/CMakeLists.txt
+++ b/deployments/smm-gateway/opteesp/CMakeLists.txt
@@ -22,6 +22,7 @@
target_include_directories(smm-gateway PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
set(SP_UUID "ed32d533-99e6-4209-9cc0-2d72cdd998a7")
set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "SP heap size in bytes")
+set(TRACE_PREFIX "SMMGW" CACHE STRING "Trace prefix")
# Setting the MM communication buffer parameters
set(MM_COMM_BUFFER_ADDRESS "0x00000008 0x81000000" CACHE STRING "Address of MM communicte buffer in 64 bit DTS format")
@@ -34,40 +35,10 @@
add_components(TARGET "smm-gateway"
BASE_DIR ${TS_ROOT}
COMPONENTS
- "components/common/fdt"
- "components/common/trace"
- "components/common/utils"
- "components/common/uuid"
- "components/config/ramstore"
- "components/config/loader/sp"
- "components/messaging/ffa/libsp"
- "components/rpc/ffarpc/endpoint"
- "components/rpc/ffarpc/caller/sp"
- "components/rpc/mm_communicate/endpoint/sp"
- "components/rpc/common/caller"
- "components/rpc/common/interface"
- "components/service/common/include"
- "components/service/common/client"
- "components/service/common/provider"
- "components/service/locator"
- "components/service/locator/interface"
- "components/service/locator/sp"
- "components/service/locator/sp/ffa"
- "components/service/smm_variable/backend"
- "components/service/smm_variable/frontend/mm_communicate"
- "components/service/smm_variable/provider"
- "components/service/secure_storage/include"
- "components/service/secure_storage/backend/secure_storage_client"
- "components/service/secure_storage/backend/mock_store"
- "protocols/rpc/common/packed-c"
- "protocols/service/secure_storage/packed-c"
"environments/opteesp"
)
-target_sources(smm-gateway PRIVATE
- smm_gateway_sp.c
- ../smm_gateway.c
-)
+include(../smm-gateway.cmake REQUIRED)
#-------------------------------------------------------------------------------
# Set target platform to provide drivers needed by the deployment
@@ -82,8 +53,6 @@
)
target_include_directories(smm-gateway PRIVATE
- ${TS_ROOT}
- ${TS_ROOT}/components
${TS_ROOT}/deployments/smm-gateway/opteesp
)
diff --git a/deployments/smm-gateway/opteesp/optee_sp_user_defines.h b/deployments/smm-gateway/opteesp/optee_sp_user_defines.h
index dd257fa..f4dde2b 100644
--- a/deployments/smm-gateway/opteesp/optee_sp_user_defines.h
+++ b/deployments/smm-gateway/opteesp/optee_sp_user_defines.h
@@ -6,10 +6,10 @@
#ifndef SP_HEADER_DEFINES_H
#define SP_HEADER_DEFINES_H
-/* To get UUID definition */
-#include "smm_gateway_sp.h"
+#define OPTEE_SP_UUID \
+ {0xed32d533, 0x99e6, 0x4209, \
+ { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }}
-#define OPTEE_SP_UUID SMM_GATEWAY_UUID
#define OPTEE_SP_FLAGS 0
/* Provisioned stack size */
diff --git a/deployments/smm-gateway/opteesp/smm_gateway_sp.h b/deployments/smm-gateway/opteesp/smm_gateway_sp.h
deleted file mode 100644
index dd6c413..0000000
--- a/deployments/smm-gateway/opteesp/smm_gateway_sp.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef SMM_GATEWAY_SP_H
-#define SMM_GATEWAY_SP_H
-
-#define SMM_GATEWAY_UUID \
- {0xed32d533, 0x99e6, 0x4209, \
- { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }}
-
-#define SMM_GATEWAY_UUID_BYTES \
- {0xed, 0x32, 0xd5, 0x33, 0x99, 0xe6, 0x42, 0x09, \
- 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7}
-
-#endif /* SMM_GATEWAY_SP_H */
diff --git a/deployments/smm-gateway/smm-gateway.cmake b/deployments/smm-gateway/smm-gateway.cmake
new file mode 100644
index 0000000..70cb805
--- /dev/null
+++ b/deployments/smm-gateway/smm-gateway.cmake
@@ -0,0 +1,48 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_components(TARGET "smm-gateway"
+ BASE_DIR ${TS_ROOT}
+ COMPONENTS
+ "components/common/fdt"
+ "components/common/trace"
+ "components/common/utils"
+ "components/common/uuid"
+ "components/config/ramstore"
+ "components/config/loader/sp"
+ "components/messaging/ffa/libsp"
+ "components/rpc/ffarpc/endpoint"
+ "components/rpc/ffarpc/caller/sp"
+ "components/rpc/mm_communicate/endpoint/sp"
+ "components/rpc/common/caller"
+ "components/rpc/common/interface"
+ "components/service/common/include"
+ "components/service/common/client"
+ "components/service/common/provider"
+ "components/service/locator"
+ "components/service/locator/interface"
+ "components/service/locator/sp"
+ "components/service/locator/sp/ffa"
+ "components/service/smm_variable/backend"
+ "components/service/smm_variable/frontend/mm_communicate"
+ "components/service/smm_variable/provider"
+ "components/service/secure_storage/include"
+ "components/service/secure_storage/backend/secure_storage_client"
+ "components/service/secure_storage/backend/mock_store"
+ "protocols/rpc/common/packed-c"
+ "protocols/service/secure_storage/packed-c"
+)
+
+target_sources(smm-gateway PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}/common/smm_gateway_sp.c
+ ${CMAKE_CURRENT_LIST_DIR}/common/smm_gateway.c
+)
+
+target_include_directories(smm-gateway PRIVATE
+ ${TS_ROOT}
+ ${TS_ROOT}/components
+)