From 672a303852353ba9299f6f50190fca8b3abe4c1d Mon Sep 17 00:00:00 2001 From: Yann Sionneau Date: Fri, 2 Oct 2020 16:24:55 +0200 Subject: kvx: add support for kvx arch to uClibc-ng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit adds support for Kalray VLIW family (kvx) Kalray kv3 core is embedded in Kalray Coolidge SoC. This core which is the third of the KV family has the following features: 32/64 bits execution mode 6-issue VLIW architecture 64 x 64bits general purpose registers SIMD instructions little-endian In order to build a usable toolchain, build scripts are provided at the following address: https://github.com/kalray/build-scripts. Kalray uses FOSS which is available at https://github.com/kalray This includes Linux kernel, uClibc-ng, gcc, binutils, etc. Signed-off-by: Clément Léger Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Thevenoux Signed-off-by: Marc Poulhies Signed-off-by: Marius Gligor Signed-off-by: Yann Sionneau --- extra/Configs/Config.in | 8 ++++++++ extra/Configs/Config.kvx | 18 ++++++++++++++++++ extra/Configs/defconfigs/kvx/defconfig | 1 + 3 files changed, 27 insertions(+) create mode 100644 extra/Configs/Config.kvx create mode 100644 extra/Configs/defconfigs/kvx/defconfig (limited to 'extra') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index fff434b40..7dca9e305 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -28,6 +28,7 @@ choice default TARGET_hppa if DESIRED_TARGET_ARCH = "hppa" default TARGET_i386 if DESIRED_TARGET_ARCH = "i386" default TARGET_ia64 if DESIRED_TARGET_ARCH = "ia64" + default TARGET_kvx if DESIRED_TARGET_ARCH = "kvx" default TARGET_lm32 if DESIRED_TARGET_ARCH = "lm32" default TARGET_m68k if DESIRED_TARGET_ARCH = "m68k" default TARGET_metag if DESIRED_TARGET_ARCH = "metag" @@ -91,6 +92,9 @@ config TARGET_i386 config TARGET_ia64 bool "ia64" +config TARGET_kvx + bool "kvx" + config TARGET_lm32 bool "lm32" @@ -192,6 +196,10 @@ if TARGET_ia64 source "extra/Configs/Config.ia64" endif +if TARGET_kvx +source "extra/Configs/Config.kvx" +endif + if TARGET_lm32 source "extra/Configs/Config.lm32" endif diff --git a/extra/Configs/Config.kvx b/extra/Configs/Config.kvx new file mode 100644 index 000000000..398ffceaa --- /dev/null +++ b/extra/Configs/Config.kvx @@ -0,0 +1,18 @@ +# +# For a description of the syntax of this configuration file, +# see extra/config/Kconfig-language.txt +# + +config TARGET_ARCH + string + default "kvx" + +config FORCE_OPTIONS_FOR_ARCH + bool + default y + select ARCH_LITTLE_ENDIAN + select ARCH_HAS_MMU + select UCLIBC_HAS_FPU + select UCLIBC_HAS_FENV + select UCLIBC_HAS_WCHAR + select DO_C99_MATH diff --git a/extra/Configs/defconfigs/kvx/defconfig b/extra/Configs/defconfigs/kvx/defconfig new file mode 100644 index 000000000..c80e6ce8e --- /dev/null +++ b/extra/Configs/defconfigs/kvx/defconfig @@ -0,0 +1 @@ +TARGET_kvx=y -- cgit v1.2.3