Hi Hao,

we normally test FP enabled configurations as part of the nightly CI, look for the "FPON" marked builds.

One example is available here: tf-m-build-config #1733828 Console [Jenkins]

for the following configuration: 
AN521_GCC_2_RegBL2_RegS_RegNS_Debug_BL2_FPON
From this you should be able to extract the recommended build options to enable FP. Given that this is happening in Zephyr, you could have found a proper bug in the integration in Zephyr itself, but that would have to be sorted out directly with the Zephyr community and not directly by interacting with this mailing list.

Hope it helps

Thanks,
Antonio


From: Zhang, Hao via TF-M <tf-m@lists.trustedfirmware.org>
Sent: Wednesday, November 20, 2024 18:42
To: Anton Komlev via TF-M <tf-m@lists.trustedfirmware.org>
Subject: [TF-M] tf-m-tests for Floating point unit
 
Hi TF-M Maintainers,

I am trying to build tf-m regression tests with fpu tests on for an521 and musca_s1 (I manually enable allow fpu tests for musca_s1) from Zephyr's west build. I did that by
  1. set(CONFIG_TFM_ENABLE_FP  ON) in config.cmake
  2. set(TEST_NS_FPU ON) in tfm_test_config.cmake


But both build fails with 

~/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld: secure_fw/partitions/partitions/service_5/libtfm_app_rot_partition_fpu_service.a(tfm_fpu_service_test.o): in function `fpu_service_check_fp_register':
~/work/zephyrproject_adi/modules/tee/tf-m/tf-m-tests/tests_reg/test/secure_fw/suites/fpu/service/tfm_fpu_service_test.c:48: undefined reference to `dump_fp_callee'
~/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld: ~/work/zephyrproject_adi/modules/tee/tf-m/tf-m-tests/tests_reg/test/secure_fw/suites/fpu/service/tfm_fpu_service_test.c:39: undefined reference to `dump_fp_callee'
~/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld: ~/work/zephyrproject_adi/modules/tee/tf-m/tf-m-tests/tests_reg/test/secure_fw/suites/fpu/service/tfm_fpu_service_test.c:42: undefined reference to `populate_callee_fp_regs'
~/zephyr-sdk-0.16.4/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld: secure_fw/partitions/partitions/service_5/libtfm_app_rot_partition_fpu_service.a(tfm_fpu_service_test.o): in function `fpu_service_check_fp_register_after_ns_inturrept':
~/work/zephyrproject_adi/modules/tee/tf-m/tf-m-tests/tests_reg/test/secure_fw/suites/fpu/service/tfm_fpu_service_test.c:92: undefined reference to `fp_func_jump_template'.

I modified line 16-19 of https://github.com/zephyrproject-rtos/tf-m-tests/blob/a1a178d8c1f3c757635116ed32797871ff61cc78/tests_reg/test/secure_fw/suites/fpu/service/CMakeLists.txt#L19 to below
target_sources(tfm_app_rot_partition_fpu_service
    PRIVATE
        tfm_fpu_service_test.c
        ../fpu_tests_common.c
)

 Then, it starts building successfully. Is there anything particular I am missing. Thank you!

My tf-m tests version is  502ea90105ee18f20c78f710e2ba2ded0fc0756e (Merge pull request #11 from tomi-font/update_2.1.1)for https://github.com/zephyrproject-rtos/tf-m-tests.

Best regards,

Hao