blob: 793bdeeca33be6683fdec79454e1e9434b7e1b97 [file] [log] [blame]
#-------------------------------------------------------------------------------
# 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