1# Copyright (c) 2022-2024, Arm Limited. All rights reserved.
2#
3# SPDX-License-Identifier: BSD-3-Clause
4#
5
6$(eval $(call add_define,PLATFORM_TESTS))
7
8ifeq (${PLATFORM_TEST},rse-nv-counters)
9    include drivers/arm/rse/rse_comms.mk
10
11    # Test code.
12    BL31_SOURCES	+=	plat/arm/board/tc/nv_counter_test.c
13
14    # Code under testing.
15    BL31_SOURCES	+=	lib/psa/rse_platform.c \
16				${RSE_COMMS_SOURCES}
17
18    PLAT_INCLUDES	+=	-Iinclude/lib/psa
19
20    $(eval $(call add_define,PLATFORM_TEST_NV_COUNTERS))
21else ifeq (${PLATFORM_TEST},rse-rotpk)
22    include drivers/arm/rse/rse_comms.mk
23
24    # Test code.
25    BL31_SOURCES	+=	plat/arm/board/tc/rotpk_test.c
26
27    # Code under testing.
28    BL31_SOURCES	+=	lib/psa/rse_platform.c \
29				${RSE_COMMS_SOURCES}
30
31    PLAT_INCLUDES	+=	-Iinclude/lib/psa
32
33    $(eval $(call add_define,PLATFORM_TEST_ROTPK))
34else ifeq (${PLATFORM_TEST},tfm-testsuite)
35    include drivers/arm/rse/rse_comms.mk
36    include drivers/measured_boot/rse/qcbor.mk
37
38    # The variables need to be set to compile the platform test:
39    ifeq (${TF_M_TESTS_PATH},)
40        # Example: ../rse/tf-m-tests
41        $(error Error: TF_M_TESTS_PATH not set)
42    endif
43    ifeq (${TF_M_EXTRAS_PATH},)
44        # Example: ../rse/tf-m-extras
45        $(error Error: TF_M_EXTRAS_PATH not set)
46    endif
47    ifeq (${MEASUREMENT_VALUE_SIZE},)
48        MEASUREMENT_VALUE_SIZE	:=	32
49    endif
50    ifeq (${MEASURED_BOOT_HASH_ALG},)
51        MEASURED_BOOT_HASH_ALG	:=	"PSA_ALG_SHA_256"
52    endif
53
54    DELEGATED_ATTEST_TESTS_PATH	=	$(TF_M_EXTRAS_PATH)/partitions/delegated_attestation/test
55    MEASURED_BOOT_TESTS_PATH	=	$(TF_M_EXTRAS_PATH)/partitions/measured_boot/test
56
57    MBEDTLS_CONFIG_FILE		=	"<plat_tc_mbedtls_config.h>"
58
59    LIBMBEDTLS_SRCS		+=	$(addprefix ${MBEDTLS_DIR}/library/,	\
60					entropy.c				\
61					entropy_poll.c				\
62					hmac_drbg.c				\
63					psa_crypto.c				\
64					psa_crypto_client.c			\
65					psa_crypto_driver_wrappers_no_static.c	\
66					psa_crypto_hash.c			\
67					psa_crypto_rsa.c			\
68					psa_crypto_ecp.c			\
69					psa_crypto_slot_management.c		\
70					psa_util.c				\
71					)
72
73    BL31_SOURCES	+=	${RSE_COMMS_SOURCES}				\
74				plat/arm/common/arm_dyn_cfg.c			\
75				${TC_BASE}/rse_ap_tests.c			\
76				${TC_BASE}/rse_ap_testsuites.c			\
77				${TC_BASE}/rse_ap_test_stubs.c			\
78				$(TF_M_TESTS_PATH)/tests_reg/test/framework/test_framework.c \
79				$(MEASURED_BOOT_TESTS_PATH)/measured_boot_common.c \
80				$(MEASURED_BOOT_TESTS_PATH)/measured_boot_tests_common.c \
81				$(DELEGATED_ATTEST_TESTS_PATH)/delegated_attest_test.c \
82				drivers/auth/mbedtls/mbedtls_common.c		\
83				lib/psa/measured_boot.c				\
84				lib/psa/delegated_attestation.c			\
85				${QCBOR_SOURCES}
86
87    PLAT_INCLUDES	+=	-I$(TF_M_EXTRAS_PATH)/partitions/measured_boot/interface/include \
88				-I$(TF_M_EXTRAS_PATH)/partitions/delegated_attestation/interface/include \
89				-I$(TF_M_TESTS_PATH)/tests_reg/test/framework	\
90				-I$(TF_M_TESTS_PATH)/tests_reg/test/secure_fw/suites/extra \
91				-I$(TF_M_TESTS_PATH)/lib/log			\
92				-I$(MEASURED_BOOT_TESTS_PATH)/non_secure	\
93				-I$(DELEGATED_ATTEST_TESTS_PATH)		\
94				-I$(DELEGATED_ATTEST_TESTS_PATH)/non_secure	\
95				-Iplat/arm/board/tc				\
96				-Iinclude/drivers/auth/mbedtls			\
97				-Iinclude/drivers/arm				\
98				-Iinclude/lib/psa				\
99				-I${QCBOR_INCLUDES}
100
101    # Some of the PSA functions are declared in multiple header files, that
102    # triggers this warning.
103    TF_CFLAGS		+=	-Wno-error=redundant-decls
104
105    # TODO: Created patch for warning in tf-m-tests
106    TF_CFLAGS		+=	-Wno-error=return-type
107
108    # Define macros that are used by the code coming from the tf-m-extras repo.
109    $(eval $(call add_define,MEASUREMENT_VALUE_SIZE))
110    $(eval $(call add_define,MEASURED_BOOT_HASH_ALG))
111    $(eval $(call add_define,DELEG_ATTEST_DUMP_TOKEN_AND_KEY))
112
113    $(eval $(call add_define,PLATFORM_TEST_TFM_TESTSUITE))
114else
115    $(error "Unsupported PLATFORM_TEST value")
116endif
117