#------------------------------------------------------------------------------- # Copyright (c) 2023, Arm Limited. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # #------------------------------------------------------------------------------- ################################# FPU #################################### menu "FPU/MVE" config CONFIG_TFM_LAZY_STACKING bool default n help Enable lazy stacking config CONFIG_TFM_ENABLE_CP10CP11 bool default n help Make FPU and MVE operational when SPE and/or NSPE require FPU or MVE usage. This alone only enables the coprocessors CP10-CP11, whereas CONFIG_TFM_FLOAT_ABI=hard along with CONFIG_TFM_ENABLE_FP, CONFIG_TFM_ENABLE_MVE or CONFIG_TFM_ENABLE_MVE_FP compiles the code with hardware FP or MVE instructions and ABI. config CONFIG_TFM_ENABLE_FP #TODO: depends on toolchain type bool "Enable FP usage" depends on CONFIG_TFM_FP_ARCH != "" default n imply CONFIG_TFM_LAZY_STACKING select CONFIG_TFM_ENABLE_CP10CP11 config CONFIG_TFM_ENABLE_MVE #TODO: depends on v8.1 bool "Enable integer MVE usage" default n imply CONFIG_TFM_LAZY_STACKING select CONFIG_TFM_ENABLE_CP10CP11 config CONFIG_TFM_ENABLE_MVE_FP bool "Enable floating-point MVE usage" depends on CONFIG_TFM_FP_ARCH != "" default n imply CONFIG_TFM_LAZY_STACKING select CONFIG_TFM_ENABLE_CP10CP11 config CONFIG_TFM_FLOAT_ABI #TODO: shall be int to align with compile options string default "hard" if CONFIG_TFM_ENABLE_FP || CONFIG_TFM_ENABLE_MVE || CONFIG_TFM_ENABLE_MVE_FP default "soft" help Set float abi hard to enable hardware floating-point instructions and hardware floating-point linkage. Set float abi soft, meaning software library functions for floating-point operations and software floating-point linkage. endmenu