From f8d1a9e5ea4182b908aa9255ad271b472ed68050 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20=C3=85berg?= Date: Fri, 16 Oct 2020 20:55:04 +0200 Subject: [PATCH] cmake: Added SPARC support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit defines the tool prefix and command line options for the Zephyr SPARC architectural port. Signed-off-by: Martin Ã…berg --- cmake/compiler/gcc/target.cmake | 2 ++ cmake/compiler/gcc/target_sparc.cmake | 14 ++++++++++++++ cmake/toolchain/xtools/target.cmake | 1 + cmake/toolchain/zephyr/0.11/target.cmake | 1 + 4 files changed, 18 insertions(+) create mode 100644 cmake/compiler/gcc/target_sparc.cmake diff --git a/cmake/compiler/gcc/target.cmake b/cmake/compiler/gcc/target.cmake index 88be5a0fc2c..a8005a8deef 100644 --- a/cmake/compiler/gcc/target.cmake +++ b/cmake/compiler/gcc/target.cmake @@ -55,6 +55,8 @@ elseif("${ARCH}" STREQUAL "riscv") include(${CMAKE_CURRENT_LIST_DIR}/target_riscv.cmake) elseif("${ARCH}" STREQUAL "x86") include(${CMAKE_CURRENT_LIST_DIR}/target_x86.cmake) +elseif("${ARCH}" STREQUAL "sparc") + include(${CMAKE_CURRENT_LIST_DIR}/target_sparc.cmake) endif() if(NOT no_libgcc) diff --git a/cmake/compiler/gcc/target_sparc.cmake b/cmake/compiler/gcc/target_sparc.cmake new file mode 100644 index 00000000000..6f63a40fea5 --- /dev/null +++ b/cmake/compiler/gcc/target_sparc.cmake @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: Apache-2.0 + +list(APPEND TOOLCHAIN_C_FLAGS -msoft-float) +list(APPEND TOOLCHAIN_LD_FLAGS -msoft-float) + +if(CONFIG_SPARC_CASA) + # SPARC V8, mul/div, casa + list(APPEND TOOLCHAIN_C_FLAGS -mcpu=leon3) + list(APPEND TOOLCHAIN_LD_FLAGS -mcpu=leon3) +else() + # SPARC V8, mul/div, no casa + list(APPEND TOOLCHAIN_C_FLAGS -mcpu=leon) + list(APPEND TOOLCHAIN_LD_FLAGS -mcpu=leon) +endif() diff --git a/cmake/toolchain/xtools/target.cmake b/cmake/toolchain/xtools/target.cmake index f0bb1ee61d2..9cdfaa8d65c 100644 --- a/cmake/toolchain/xtools/target.cmake +++ b/cmake/toolchain/xtools/target.cmake @@ -7,6 +7,7 @@ set(CROSS_COMPILE_TARGET_mips mipsel-zephyr-elf) set(CROSS_COMPILE_TARGET_xtensa xtensa-zephyr-elf) set(CROSS_COMPILE_TARGET_arc arc-zephyr-elf) set(CROSS_COMPILE_TARGET_x86 x86_64-zephyr-elf) +set(CROSS_COMPILE_TARGET_sparc sparc-zephyr-elf) set(CROSS_COMPILE_TARGET ${CROSS_COMPILE_TARGET_${ARCH}}) set(SYSROOT_TARGET ${CROSS_COMPILE_TARGET}) diff --git a/cmake/toolchain/zephyr/0.11/target.cmake b/cmake/toolchain/zephyr/0.11/target.cmake index 7d968505e3e..ee9647001a0 100644 --- a/cmake/toolchain/zephyr/0.11/target.cmake +++ b/cmake/toolchain/zephyr/0.11/target.cmake @@ -11,6 +11,7 @@ set(CROSS_COMPILE_TARGET_mips mipsel-zephyr-elf) set(CROSS_COMPILE_TARGET_xtensa xtensa-zephyr-elf) set(CROSS_COMPILE_TARGET_arc arc-zephyr-elf) set(CROSS_COMPILE_TARGET_x86 x86_64-zephyr-elf) +set(CROSS_COMPILE_TARGET_sparc sparc-zephyr-elf) set(CROSS_COMPILE_TARGET ${CROSS_COMPILE_TARGET_${ARCH}}) set(SYSROOT_TARGET ${CROSS_COMPILE_TARGET})