diff options
-rw-r--r-- | platform/ext/target/mps2/fvp_sse300/preload.cmake | 2 | ||||
-rw-r--r-- | platform/ext/target/mps3/fvp_sse300/preload.cmake | 2 | ||||
-rw-r--r-- | toolchain_ARMCLANG.cmake | 17 |
3 files changed, 18 insertions, 3 deletions
diff --git a/platform/ext/target/mps2/fvp_sse300/preload.cmake b/platform/ext/target/mps2/fvp_sse300/preload.cmake index 531e6e4102..ae27ca9eb7 100644 --- a/platform/ext/target/mps2/fvp_sse300/preload.cmake +++ b/platform/ext/target/mps2/fvp_sse300/preload.cmake @@ -13,4 +13,4 @@ # Set architecture and CPU set(TFM_SYSTEM_PROCESSOR cortex-m55) set(TFM_SYSTEM_ARCHITECTURE armv8.1-m.main) -set(TFM_SYSTEM_DSP OFF) +set(TFM_SYSTEM_MVE OFF) diff --git a/platform/ext/target/mps3/fvp_sse300/preload.cmake b/platform/ext/target/mps3/fvp_sse300/preload.cmake index 531e6e4102..ae27ca9eb7 100644 --- a/platform/ext/target/mps3/fvp_sse300/preload.cmake +++ b/platform/ext/target/mps3/fvp_sse300/preload.cmake @@ -13,4 +13,4 @@ # Set architecture and CPU set(TFM_SYSTEM_PROCESSOR cortex-m55) set(TFM_SYSTEM_ARCHITECTURE armv8.1-m.main) -set(TFM_SYSTEM_DSP OFF) +set(TFM_SYSTEM_MVE OFF) diff --git a/toolchain_ARMCLANG.cmake b/toolchain_ARMCLANG.cmake index 494c0066d7..3857bd2d32 100644 --- a/toolchain_ARMCLANG.cmake +++ b/toolchain_ARMCLANG.cmake @@ -80,10 +80,23 @@ macro(tfm_toolchain_set_processor_arch) set(CMAKE_C_COMPILER_TARGET arm-${CROSS_COMPILE}) set(CMAKE_ASM_COMPILER_TARGET arm-${CROSS_COMPILE}) + if (DEFINED TFM_SYSTEM_MVE) + if(NOT TFM_SYSTEM_MVE) + string(APPEND CMAKE_SYSTEM_PROCESSOR "+nomve") + endif() + endif() + + if (DEFINED TFM_SYSTEM_FP) + if(NOT TFM_SYSTEM_FP) + string(APPEND CMAKE_SYSTEM_PROCESSOR "+nofp") + endif() + endif() + if (DEFINED TFM_SYSTEM_DSP) if(NOT TFM_SYSTEM_DSP) string(APPEND CMAKE_SYSTEM_PROCESSOR "+nodsp") endif() + endif() # Cmake's ARMClang support has several issues with compiler validation. To # avoid these, we set the list of supported -mcpu and -march variables to @@ -93,7 +106,6 @@ macro(tfm_toolchain_set_processor_arch) set(CMAKE_C_COMPILER_ARCH_LIST ${CMAKE_SYSTEM_PROCESSOR}) set(CMAKE_ASM_COMPILER_PROCESSOR_LIST ${CMAKE_SYSTEM_PROCESSOR}) set(CMAKE_ASM_COMPILER_ARCH_LIST ${CMAKE_SYSTEM_PROCESSOR}) - endif() endmacro() macro(tfm_toolchain_reload_compiler) @@ -127,6 +139,9 @@ macro(tfm_toolchain_reload_compiler) string(REGEX REPLACE "\\+nofp" ".no_fp" CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS}") string(REGEX REPLACE "\\+nofp" ".no_fp" CMAKE_ASM_LINK_FLAGS "${CMAKE_ASM_LINK_FLAGS}") + string(REGEX REPLACE "\\+nomve" ".no_mve" CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS}") + string(REGEX REPLACE "\\+nomve" ".no_mve" CMAKE_ASM_LINK_FLAGS "${CMAKE_ASM_LINK_FLAGS}") + # Workaround for issues with --depend-single-line with armasm and Ninja if (CMAKE_GENERATOR STREQUAL "Ninja") set( CMAKE_DEPFILE_FLAGS_ASM "--depend=<OBJECT>.d") |