[Buildroot] [PATCH v2 1/2] MIPS: add support for XBurst cores
Vicente Olivert Riera
Vincent.Riera at imgtec.com
Fri Oct 21 09:45:56 UTC 2016
- There isn't any matching -march option for this core family, so we
need to stick with the generic mips32r2.
- Add an option to the toolchain wrapper to avoid an FPU bug.
Related: http://www.ingenic.com/en/?xburst.html
Signed-off-by: Vicente Olivert Riera <Vincent.Riera at imgtec.com>
---
Changes v1 -> v2:
- Do not add -mmxu to the wrapper.
---
arch/Config.in.mips | 5 +++++
toolchain/toolchain-wrapper.c | 3 +++
toolchain/toolchain-wrapper.mk | 5 +++++
3 files changed, 13 insertions(+)
diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 3662fed..3075d3f 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -63,6 +63,10 @@ config BR2_mips_p5600
bool "P5600"
depends on !BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS32R5
+config BR2_mips_xburst
+ bool "XBurst"
+ depends on !BR2_ARCH_IS_64
+ select BR2_MIPS_CPU_MIPS32R2
config BR2_mips_64
bool "Generic MIPS64"
depends on BR2_ARCH_IS_64
@@ -137,6 +141,7 @@ config BR2_GCC_TARGET_ARCH
default "m5101" if BR2_mips_m5101
default "m6201" if BR2_mips_m6201
default "p5600" if BR2_mips_p5600
+ default "mips32r2" if BR2_mips_xburst
default "mips64" if BR2_mips_64
default "mips64r2" if BR2_mips_64r2
default "mips64r5" if BR2_mips_64r5
diff --git a/toolchain/toolchain-wrapper.c b/toolchain/toolchain-wrapper.c
index 925d013..d59629b 100644
--- a/toolchain/toolchain-wrapper.c
+++ b/toolchain/toolchain-wrapper.c
@@ -66,6 +66,9 @@ static char *predef_args[] = {
#ifdef BR_OMIT_LOCK_PREFIX
"-Wa,-momit-lock-prefix=yes",
#endif
+#ifdef BR_NO_FUSED_MADD
+ "-mno-fused-madd",
+#endif
#ifdef BR_BINFMT_FLAT
"-Wl,-elf2flt",
#endif
diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk
index af39071..dc3210d 100644
--- a/toolchain/toolchain-wrapper.mk
+++ b/toolchain/toolchain-wrapper.mk
@@ -26,6 +26,11 @@ ifeq ($(BR2_x86_x1000),y)
TOOLCHAIN_WRAPPER_ARGS += -DBR_OMIT_LOCK_PREFIX
endif
+# Avoid FPU bug on XBurst CPUs
+ifeq ($(BR2_mips_xburst),y)
+TOOLCHAIN_WRAPPER_ARGS += -DBR_NO_FUSED_MADD
+endif
+
ifeq ($(BR2_CCACHE_USE_BASEDIR),y)
TOOLCHAIN_WRAPPER_ARGS += -DBR_CCACHE_BASEDIR='"$(BASE_DIR)"'
endif
--
2.10.1
More information about the buildroot
mailing list