Attest: Add initial attestation prototype
Details:
- implement initial version of API
- implement veneer function and SVC handler
- implement wrapper functions around veneers on S and NS side
- create manifest files and generate new partition defines
- add attestation service to build system
- update linker scripts for ARMCLANG and GNUARM
Change-Id: I987509c6cad08fcd082667bca7dbc9a328ea03de
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
diff --git a/secure_fw/ns_callable/CMakeLists.inc b/secure_fw/ns_callable/CMakeLists.inc
index afba7d5..8b883db 100644
--- a/secure_fw/ns_callable/CMakeLists.inc
+++ b/secure_fw/ns_callable/CMakeLists.inc
@@ -26,7 +26,8 @@
set (SS_NS_CALLABLE_C_SRC "${CMAKE_CURRENT_LIST_DIR}/tfm_sst_veneers.c"
"${CMAKE_CURRENT_LIST_DIR}/tfm_audit_veneers.c"
"${CMAKE_CURRENT_LIST_DIR}/tfm_crypto_veneers.c"
- "${CMAKE_CURRENT_LIST_DIR}/tfm_platform_veneers.c")
+ "${CMAKE_CURRENT_LIST_DIR}/tfm_platform_veneers.c"
+ "${CMAKE_CURRENT_LIST_DIR}/tfm_initial_attestation_veneers.c")
#Append all our source files to global lists.
list(APPEND ALL_SRC_C ${SS_NS_CALLABLE_C_SRC})
diff --git a/secure_fw/ns_callable/tfm_initial_attestation_veneers.c b/secure_fw/ns_callable/tfm_initial_attestation_veneers.c
new file mode 100644
index 0000000..df154d4
--- /dev/null
+++ b/secure_fw/ns_callable/tfm_initial_attestation_veneers.c
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2018, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#include "tfm_initial_attestation_veneers.h"
+#include "secure_fw/services/initial_attestation/attestation.h"
+#include "tfm_secure_api.h"
+#include "tfm_api.h"
+#include "spm_partition_defs.h"
+#include "psa_client.h"
+
+__tfm_secure_gateway_attributes__
+enum psa_attest_err_t
+tfm_attest_veneer_get_token(const psa_invec *in_vec, uint32_t num_invec,
+ psa_outvec *out_vec, uint32_t num_outvec)
+{
+ TFM_CORE_SFN_REQUEST(TFM_SP_INITIAL_ATTESTATION_ID,
+ initial_attest_get_token,
+ in_vec, num_invec,
+ out_vec, num_outvec);
+}