1#
2# SPDX-License-Identifier: BSD-3-Clause
3# SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
4#
5
6add_library(rmm-lib-attestation)
7
8arm_config_option(
9    NAME ECP_MAX_OPS
10    HELP "Set the number of max operations per ECC signing iteration (min: 248)"
11    TYPE STRING
12    DEFAULT 1000
13    ADVANCED)
14
15if(ECP_MAX_OPS LESS 248)
16    message(FATAL_ERROR "ECP_MAX_OPS is less than the lowest effective
17                         value for curve and MBEDTLS_ECP_WINDOW_SIZE")
18endif()
19
20target_compile_definitions(rmm-lib-attestation
21    PRIVATE "ECP_MAX_OPS=${ECP_MAX_OPS}U")
22
23target_link_libraries(rmm-lib-attestation
24  PRIVATE
25    rmm-lib-arch
26    rmm-lib-debug
27    rmm-lib-common
28    rmm-lib-libc
29    rmm-lib-rmm_el3_ifc
30    rmm-lib-smc
31    qcbor
32)
33
34target_link_libraries(rmm-lib-attestation
35  PUBLIC
36    rmm-lib-allocator
37    rmm-lib-measurement
38    MbedTLS::Crypto
39    t_cose)
40
41target_include_directories(rmm-lib-attestation
42    PUBLIC "include"
43    PRIVATE "src")
44
45target_sources(rmm-lib-attestation
46    PRIVATE
47        "src/attestation_key.c"
48        "src/attestation_rnd.c"
49        "src/attestation_token.c"
50        "src/attestation_utils.c")
51