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