All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores
@ 2016-09-30  9:36 Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 01/13] MIPS: add default CPU ISAs Vicente Olivert Riera
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

This patch series aims to improve the MIPS architecture support and add
a small starting set of MIPS cores.

Currently you can build root file systems for mips32, mips32r2,
mips32r6, mips64, mips64r2 and mips64r6 ISAs. These are all generic
-march options so the compiler will not activate any core specific
optimizations.

The first thing we do in this series is to add some blind options to
specify which CPU ISA is gonna be used.

Then we make the current target architecture variants to select those
new added CPU ISA options. We do this in preparation for the addition
of specific cores that are also based on some ISA, so the will also
select the appropriate one. This will still allow us to apply ISA
specific tweaks as we already do.

After that, we replace any occurrences of BR2_mips_* by the appropriate
CPU ISA option so this will still be valid when the user select an
specific core instead of a generic variant.

The next step is to make the options of the "Target Architecture
Variant" menu more explicit by specifying they are generic. This is just
a cosmetic change but also useful so people will not get confused.

After that we add new generic variants for R5 ISAs.

The Codescape MTI external toolchain currently depends on R2 ISAs, but
it also has support for R5, so we enable that.

Finally we add suport for some specific MIPS cores, disabling the
unsuported GCC versions and external toolchains when appropriate.

Vicente Olivert Riera (13):
  MIPS: add default CPU ISAs
  MIPS: target architecture variants select the appropriate CPU ISA
  MIPS: replace every BR2_mips_* with the new MIPS CPU options
  MIPS: state that the current architecture variants are generic
  MIPS: add mips32r5 generic architecture variant
  MIPS: add mips64r5 generic architecture variant
  MIPS: enable Codescape MTI toolchain for R5
  MIPS: add support for interAptiv cores
  MIPS: add support for M5100 cores
  MIPS: add support for M5101 cores
  MIPS: add support for I6400 cores
  MIPS: add support for P5600 cores
  MIPS: add support for P6600 cores

 arch/Config.in.mips                     | 80 +++++++++++++++++++++++++++++----
 package/binutils/Config.in.host         |  2 +-
 package/gcc/Config.in.host              | 23 ++++++++--
 package/glibc/glibc.mk                  |  2 +-
 package/gmp/gmp.mk                      |  2 +-
 package/go/Config.in.host               |  2 +-
 package/gstreamer/gst-ffmpeg/Config.in  |  2 +-
 package/luajit/Config.in                |  2 +-
 package/mbedtls/mbedtls.mk              |  2 +-
 package/mongrel2/mongrel2.mk            |  2 +-
 package/nodejs/nodejs.mk                |  6 +--
 package/openblas/Config.in              |  6 +--
 package/polarssl/polarssl.mk            |  2 +-
 package/uclibc/Config.in                |  6 +--
 toolchain/toolchain-buildroot/Config.in |  4 +-
 toolchain/toolchain-external/Config.in  | 13 ++++--
 16 files changed, 121 insertions(+), 35 deletions(-)

-- 
2.10.0

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 01/13] MIPS: add default CPU ISAs
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 02/13] MIPS: target architecture variants select the appropriate CPU ISA Vicente Olivert Riera
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

Meant to be used by the target architecture variants.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index fda1a1d..5e97fd0 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -1,3 +1,17 @@
+# mips default CPU ISAs
+config BR2_MIPS_CPU_MIPS32
+	bool
+config BR2_MIPS_CPU_MIPS32R2
+	bool
+config BR2_MIPS_CPU_MIPS32R6
+	bool
+config BR2_MIPS_CPU_MIPS64
+	bool
+config BR2_MIPS_CPU_MIPS64R2
+	bool
+config BR2_MIPS_CPU_MIPS64R6
+	bool
+
 choice
 	prompt "Target Architecture Variant"
 	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 02/13] MIPS: target architecture variants select the appropriate CPU ISA
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 01/13] MIPS: add default CPU ISAs Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 03/13] MIPS: replace every BR2_mips_* with the new MIPS CPU options Vicente Olivert Riera
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 5e97fd0..8771cd5 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -26,21 +26,27 @@ choice
 config BR2_mips_32
 	bool "mips 32"
 	depends on !BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS32
 config BR2_mips_32r2
 	bool "mips 32r2"
 	depends on !BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS32R2
 config BR2_mips_32r6
 	bool "mips 32r6"
 	depends on !BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS32R6
 config BR2_mips_64
 	bool "mips 64"
 	depends on BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS64
 config BR2_mips_64r2
 	bool "mips 64r2"
 	depends on BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS64R2
 config BR2_mips_64r6
 	bool "mips 64r6"
 	depends on BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS64R6
 endchoice
 
 
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 03/13] MIPS: replace every BR2_mips_* with the new MIPS CPU options
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 01/13] MIPS: add default CPU ISAs Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 02/13] MIPS: target architecture variants select the appropriate CPU ISA Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 04/13] MIPS: state that the current architecture variants are generic Vicente Olivert Riera
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 package/binutils/Config.in.host         | 2 +-
 package/gcc/Config.in.host              | 6 +++---
 package/glibc/glibc.mk                  | 2 +-
 package/gmp/gmp.mk                      | 2 +-
 package/go/Config.in.host               | 2 +-
 package/gstreamer/gst-ffmpeg/Config.in  | 2 +-
 package/luajit/Config.in                | 2 +-
 package/mbedtls/mbedtls.mk              | 2 +-
 package/mongrel2/mongrel2.mk            | 2 +-
 package/nodejs/nodejs.mk                | 6 +++---
 package/openblas/Config.in              | 6 +++---
 package/polarssl/polarssl.mk            | 2 +-
 package/uclibc/Config.in                | 6 +++---
 toolchain/toolchain-buildroot/Config.in | 4 ++--
 toolchain/toolchain-external/Config.in  | 8 ++++----
 15 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
index 51ee2cc..7f95599 100644
--- a/package/binutils/Config.in.host
+++ b/package/binutils/Config.in.host
@@ -12,7 +12,7 @@ choice
 		# supported, but broken on Nios-II, Blackfin and powerpc64le
 		depends on !BR2_nios2 && !BR2_powerpc64le && !BR2_bfin
 		# Unsupported for MIPS R6
-		depends on !BR2_mips_32r6 && !BR2_mips_64r6
+		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# Unsupported ARM cores
 		depends on !BR2_cortex_a17
 		bool "binutils 2.24"
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 6ecc2f0..80bb880 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -29,7 +29,7 @@ choice
 		# Broken or unsupported x86 cores
 		depends on !BR2_x86_jaguar && !BR2_x86_steamroller
 		# Unsupported for MIPS R6
-		depends on !BR2_mips_32r6 && !BR2_mips_64r6
+		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
 		select BR2_GCC_NEEDS_MPC
@@ -47,7 +47,7 @@ choice
 		# gcc-4.8.x + binutils-2.25 is broken for MIPS
 		depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25_X)
 		# Unsupported for MIPS R6
-		depends on !BR2_mips_32r6 && !BR2_mips_64r6
+		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
 		# musl mips64 unsupported
@@ -71,7 +71,7 @@ choice
 		# Broken or unsupported ARM cores
 		depends on !BR2_cortex_a17
 		# Unsupported for MIPS R6
-		depends on !BR2_mips_32r6 && !BR2_mips_64r6
+		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
 		# musl mips64 unsupported
diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
index 2c32e65..50154e8 100644
--- a/package/glibc/glibc.mk
+++ b/package/glibc/glibc.mk
@@ -136,7 +136,7 @@ endef
 # highly unlikely. The failure mode, if it ever occurs, would be either
 # that a signalling NaN fails to raise an invalid operation exception or
 # (more likely) an ordinary NaN raises an invalid operation exception.
-ifeq ($(BR2_mips_32r6)$(BR2_mips_64r6),y)
+ifeq ($(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
 define GLIBC_FIX_MIPS_R6
 	$(SED) 's#10.0.0#4.0.0#' \
 		$(@D)/sysdeps/unix/sysv/linux/mips/configure \
diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk
index 420fd2f..843a7a1 100644
--- a/package/gmp/gmp.mk
+++ b/package/gmp/gmp.mk
@@ -15,7 +15,7 @@ HOST_GMP_DEPENDENCIES = host-m4
 
 # GMP doesn't support assembly for coldfire or mips r6 ISA yet
 # Disable for ARM v7m since it has different asm constraints
-ifeq ($(BR2_m68k_cf)$(BR2_mips_32r6)$(BR2_mips_64r6)$(BR2_ARM_CPU_ARMV7M)$(BR2_arc),y)
+ifeq ($(BR2_m68k_cf)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6)$(BR2_ARM_CPU_ARMV7M)$(BR2_arc),y)
 GMP_CONF_OPTS += --disable-assembly
 endif
 
diff --git a/package/go/Config.in.host b/package/go/Config.in.host
index d79c669..8d4d346 100644
--- a/package/go/Config.in.host
+++ b/package/go/Config.in.host
@@ -6,7 +6,7 @@ config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
 		|| BR2_mips64 || BR2_mips64el
 	depends on !BR2_ARM_CPU_ARMV4
 	# MIPS R6 support in Go has not yet been developed.
-	depends on !BR2_mips_64r6
+	depends on !BR2_MIPS_CPU_MIPS64R6
 
 config BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS
 	bool
diff --git a/package/gstreamer/gst-ffmpeg/Config.in b/package/gstreamer/gst-ffmpeg/Config.in
index f3d4b3e..2164ea2 100644
--- a/package/gstreamer/gst-ffmpeg/Config.in
+++ b/package/gstreamer/gst-ffmpeg/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_GST_FFMPEG
 	bool "gst-ffmpeg"
 	# Unsupported for MIPS R6. It bundles a version of libav which
 	# doesn't have support for MIPS R6.
-	depends on !BR2_mips_32r6 && !BR2_mips_64r6
+	depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 	# triggers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65151 on sh
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh
 	select BR2_PACKAGE_GST_PLUGINS_BASE
diff --git a/package/luajit/Config.in b/package/luajit/Config.in
index f9285e8..380f247 100644
--- a/package/luajit/Config.in
+++ b/package/luajit/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
 		(BR2_x86_64 && BR2_HOSTARCH='x86_64') || \
 		BR2_powerpc || BR2_arm || BR2_armeb || \
 		((BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT && \
-		!BR2_mips_32r6 && !BR2_mips_64r6)
+		!BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6)
 
 config BR2_PACKAGE_LUAJIT
 	bool "luajit"
diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk
index 994a3f4..b6fe1d5 100644
--- a/package/mbedtls/mbedtls.mk
+++ b/package/mbedtls/mbedtls.mk
@@ -60,7 +60,7 @@ endef
 # MIPS R6 asm is not yet supported
 ifeq ($(BR2_ENABLE_DEBUG)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_ARM_INSTRUCTIONS_THUMB2),yy)
 MBEDTLS_POST_CONFIGURE_HOOKS += MBEDTLS_DISABLE_ASM
-else ifeq ($(BR2_microblaze)$(BR2_mips_32r6)$(BR2_mips_64r6),y)
+else ifeq ($(BR2_microblaze)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
 MBEDTLS_POST_CONFIGURE_HOOKS += MBEDTLS_DISABLE_ASM
 endif
 
diff --git a/package/mongrel2/mongrel2.mk b/package/mongrel2/mongrel2.mk
index d0640c9..c69c143 100644
--- a/package/mongrel2/mongrel2.mk
+++ b/package/mongrel2/mongrel2.mk
@@ -24,7 +24,7 @@ ifeq ($(BR2_ENABLE_DEBUG)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_ARM_INSTRUCTIONS_THU
 MONGREL2_POST_CONFIGURE_HOOKS += MONGREL2_POLARSSL_DISABLE_ASM
 else ifeq ($(BR2_microblaze),y)
 MONGREL2_POST_CONFIGURE_HOOKS += MONGREL2_POLARSSL_DISABLE_ASM
-else ifeq ($(BR2_mips_32r6)$(BR2_mips_64r6),y)
+else ifeq ($(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
 MONGREL2_POST_CONFIGURE_HOOKS += MONGREL2_POLARSSL_DISABLE_ASM
 endif
 
diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk
index d6f115a..81006f5 100644
--- a/package/nodejs/nodejs.mk
+++ b/package/nodejs/nodejs.mk
@@ -96,12 +96,12 @@ endif
 
 # MIPS architecture specific options
 ifeq ($(BR2_mips)$(BR2_mipsel),y)
-ifeq ($(BR2_mips_32r6),y)
+ifeq ($(BR2_MIPS_CPU_MIPS32R6),y)
 NODEJS_MIPS_ARCH_VARIANT = r6
 NODEJS_MIPS_FPU_MODE = fp64
-else ifeq ($(BR2_mips_32r2),y)
+else ifeq ($(BR2_MIPS_CPU_MIPS32R2),y)
 NODEJS_MIPS_ARCH_VARIANT = r2
-else ifeq ($(BR2_mips_32),y)
+else ifeq ($(BR2_MIPS_CPU_MIPS32),y)
 NODEJS_MIPS_ARCH_VARIANT = r1
 endif
 endif
diff --git a/package/openblas/Config.in b/package/openblas/Config.in
index 0609a91..1fbed1c 100644
--- a/package/openblas/Config.in
+++ b/package/openblas/Config.in
@@ -27,10 +27,10 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET
 	default "PPC440"       if BR2_powerpc_440
 	default "PPC440FP2"    if BR2_powerpc_440fp
 	# P5600 is built with MSA support which is only available in Codescape toolchains
-	default "P5600"        if BR2_mips_32r2 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
-	default "SICORTEX"     if BR2_mips_64
+	default "P5600"        if BR2_MIPS_CPU_MIPS32R2 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
+	default "SICORTEX"     if BR2_MIPS_CPU_MIPS64
 	# I6400 is built with MSA support which is only available in Codescape toolchains
-	default "I6400"        if BR2_mips_64r6 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
+	default "I6400"        if BR2_MIPS_CPU_MIPS64R6 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
 	default "SPARC"        if BR2_sparc
 	# Cortex-A15 always have a VFPv4
 	default "CORTEXA15"    if (BR2_cortex_a15 && BR2_ARM_EABIHF)
diff --git a/package/polarssl/polarssl.mk b/package/polarssl/polarssl.mk
index 9199f28..7f4c582 100644
--- a/package/polarssl/polarssl.mk
+++ b/package/polarssl/polarssl.mk
@@ -25,7 +25,7 @@ ifeq ($(BR2_ENABLE_DEBUG)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_ARM_INSTRUCTIONS_THU
 POLARSSL_POST_CONFIGURE_HOOKS += POLARSSL_DISABLE_ASM
 else ifeq ($(BR2_microblaze),y)
 POLARSSL_POST_CONFIGURE_HOOKS += POLARSSL_DISABLE_ASM
-else ifeq ($(BR2_mips_32r6)$(BR2_mips_64r6),y)
+else ifeq ($(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
 POLARSSL_POST_CONFIGURE_HOOKS += POLARSSL_DISABLE_ASM
 endif
 
diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index 33969cc..cbae096 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -145,9 +145,9 @@ config BR2_UCLIBC_MIPS_ABI
 config BR2_UCLIBC_MIPS_ISA
 	string
 	depends on BR2_UCLIBC_TARGET_ARCH = "mips"
-	default "MIPS32" if BR2_mips_32
-	default "MIPS32R2" if BR2_mips_32r2
-	default "MIPS64" if BR2_mips_64
+	default "MIPS32" if BR2_MIPS_CPU_MIPS32
+	default "MIPS32R2" if BR2_MIPS_CPU_MIPS32R2
+	default "MIPS64" if BR2_MIPS_CPU_MIPS64
 
 config BR2_UCLIBC_SH_TYPE
 	string
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 8e275c2..310572e 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -35,7 +35,7 @@ config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
 		   BR2_powerpc || BR2_sh2a   || BR2_sh4	   || BR2_sh4eb    || \
 		   BR2_sparc   || BR2_xtensa || BR2_x86_64
 	# Unsupported for MIPS R6
-	depends on !BR2_mips_32r6 && !BR2_mips_64r6
+	depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 	help
 	  This option selects uClibc-ng as the C library for the
 	  cross-compilation toolchain.
@@ -74,7 +74,7 @@ config BR2_TOOLCHAIN_BUILDROOT_MUSL
 		   BR2_sh         || BR2_x86_64
 	depends on !BR2_powerpc_SPE # not supported, build breaks
 	# Unsupported for MIPS R6
-	depends on !BR2_mips_32r6 && !BR2_mips_64r6
+	depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 	# sh2 nommu is supported by musl, but we don't have support
 	# for it in Buildroot.
 	depends on BR2_USE_MMU
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 2b17b7a..b097a67 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -190,7 +190,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
 	bool "Sourcery CodeBench MIPS 2016.05"
 	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
-	depends on BR2_mips_32r2 || BR2_mips_64r2
+	depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	depends on !BR2_MIPS_NABI32
 	depends on !BR2_STATIC_LIBS
@@ -283,7 +283,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
 	bool "Codescape IMG GNU Linux Toolchain 2016.05"
 	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
-	depends on BR2_mips_32r6 || (BR2_mips_64r6 && !BR2_MIPS_SOFT_FLOAT)
+	depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT)
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_HOSTARCH_NEEDS_IA32_LIBS
@@ -346,7 +346,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
 	bool "Codescape MTI GNU Linux Toolchain 2016.05"
 	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
-	depends on BR2_mips_32r2 || (BR2_mips_64r2 && !BR2_MIPS_SOFT_FLOAT)
+	depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT)
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_HOSTARCH_NEEDS_IA32_LIBS
@@ -595,7 +595,7 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
 		BR2_x86_64
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	# Unsupported for MIPS R6
-	depends on !BR2_mips_32r6 && !BR2_mips_64r6
+	depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 	select BR2_TOOLCHAIN_EXTERNAL_MUSL
 	select BR2_TOOLCHAIN_HAS_SSP
 	select BR2_INSTALL_LIBSTDCPP
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 04/13] MIPS: state that the current architecture variants are generic
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (2 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 03/13] MIPS: replace every BR2_mips_* with the new MIPS CPU options Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 05/13] MIPS: add mips32r5 generic architecture variant Vicente Olivert Riera
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 8771cd5..56b8a6b 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -24,27 +24,27 @@ choice
 	  non-64bit capable: 32, 32r2, 32r6
 
 config BR2_mips_32
-	bool "mips 32"
+	bool "Generic MIPS32"
 	depends on !BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS32
 config BR2_mips_32r2
-	bool "mips 32r2"
+	bool "Generic MIPS32R2"
 	depends on !BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS32R2
 config BR2_mips_32r6
-	bool "mips 32r6"
+	bool "Generic MIPS32R6"
 	depends on !BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS32R6
 config BR2_mips_64
-	bool "mips 64"
+	bool "Generic MIPS64"
 	depends on BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS64
 config BR2_mips_64r2
-	bool "mips 64r2"
+	bool "Generic MIPS64R2"
 	depends on BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS64R2
 config BR2_mips_64r6
-	bool "mips 64r6"
+	bool "Generic MIPS64R6"
 	depends on BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS64R6
 endchoice
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 05/13] MIPS: add mips32r5 generic architecture variant
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (3 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 04/13] MIPS: state that the current architecture variants are generic Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 06/13] MIPS: add mips64r5 " Vicente Olivert Riera
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

-march=mips32r5 support started from GCC-5, so disable previous versions
when the CPU is R5.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips        | 9 ++++++++-
 package/gcc/Config.in.host | 6 ++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 56b8a6b..94f6fa3 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -3,6 +3,8 @@ config BR2_MIPS_CPU_MIPS32
 	bool
 config BR2_MIPS_CPU_MIPS32R2
 	bool
+config BR2_MIPS_CPU_MIPS32R5
+	bool
 config BR2_MIPS_CPU_MIPS32R6
 	bool
 config BR2_MIPS_CPU_MIPS64
@@ -21,7 +23,7 @@ choice
 	  Specific CPU variant to use
 
 	  64bit cabable: 64, 64r2, 64r6
-	  non-64bit capable: 32, 32r2, 32r6
+	  non-64bit capable: 32, 32r2, 32r5, 32r6
 
 config BR2_mips_32
 	bool "Generic MIPS32"
@@ -31,6 +33,10 @@ config BR2_mips_32r2
 	bool "Generic MIPS32R2"
 	depends on !BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS32R2
+config BR2_mips_32r5
+	bool "Generic MIPS32R5"
+	depends on !BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS32R5
 config BR2_mips_32r6
 	bool "Generic MIPS32R6"
 	depends on !BR2_ARCH_IS_64
@@ -90,6 +96,7 @@ config BR2_ENDIAN
 config BR2_GCC_TARGET_ARCH
 	default "mips32"	if BR2_mips_32
 	default "mips32r2"	if BR2_mips_32r2
+	default "mips32r5"	if BR2_mips_32r5
 	default "mips32r6"	if BR2_mips_32r6
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 80bb880..0988a9c 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -28,6 +28,8 @@ choice
 		depends on !BR2_sparc_leon3
 		# Broken or unsupported x86 cores
 		depends on !BR2_x86_jaguar && !BR2_x86_steamroller
+		# Unsupported for MIPS R5
+		depends on !BR2_MIPS_CPU_MIPS32R5
 		# Unsupported for MIPS R6
 		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
@@ -46,6 +48,8 @@ choice
 		depends on !BR2_powerpc_power8
 		# gcc-4.8.x + binutils-2.25 is broken for MIPS
 		depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25_X)
+		# Unsupported for MIPS R5
+		depends on !BR2_MIPS_CPU_MIPS32R5
 		# Unsupported for MIPS R6
 		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
@@ -70,6 +74,8 @@ choice
 		depends on !BR2_arc && !BR2_bfin
 		# Broken or unsupported ARM cores
 		depends on !BR2_cortex_a17
+		# Unsupported for MIPS R5
+		depends on !BR2_MIPS_CPU_MIPS32R5
 		# Unsupported for MIPS R6
 		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 06/13] MIPS: add mips64r5 generic architecture variant
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (4 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 05/13] MIPS: add mips32r5 generic architecture variant Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 07/13] MIPS: enable Codescape MTI toolchain for R5 Vicente Olivert Riera
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

-march=mips64r5 support started from GCC-5, so disable previous versions
when the CPU is R5.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips        | 9 ++++++++-
 package/gcc/Config.in.host | 6 +++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 94f6fa3..63f23b4 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -11,6 +11,8 @@ config BR2_MIPS_CPU_MIPS64
 	bool
 config BR2_MIPS_CPU_MIPS64R2
 	bool
+config BR2_MIPS_CPU_MIPS64R5
+	bool
 config BR2_MIPS_CPU_MIPS64R6
 	bool
 
@@ -22,7 +24,7 @@ choice
 	help
 	  Specific CPU variant to use
 
-	  64bit cabable: 64, 64r2, 64r6
+	  64bit cabable: 64, 64r2, 64r5, 64r6
 	  non-64bit capable: 32, 32r2, 32r5, 32r6
 
 config BR2_mips_32
@@ -49,6 +51,10 @@ config BR2_mips_64r2
 	bool "Generic MIPS64R2"
 	depends on BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS64R2
+config BR2_mips_64r5
+	bool "Generic MIPS64R5"
+	depends on BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS64R5
 config BR2_mips_64r6
 	bool "Generic MIPS64R6"
 	depends on BR2_ARCH_IS_64
@@ -100,6 +106,7 @@ config BR2_GCC_TARGET_ARCH
 	default "mips32r6"	if BR2_mips_32r6
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
+	default "mips64r5"	if BR2_mips_64r5
 	default "mips64r6"	if BR2_mips_64r6
 
 config BR2_MIPS_OABI32
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 0988a9c..c5fcbc8 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -29,7 +29,7 @@ choice
 		# Broken or unsupported x86 cores
 		depends on !BR2_x86_jaguar && !BR2_x86_steamroller
 		# Unsupported for MIPS R5
-		depends on !BR2_MIPS_CPU_MIPS32R5
+		depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
 		# Unsupported for MIPS R6
 		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
@@ -49,7 +49,7 @@ choice
 		# gcc-4.8.x + binutils-2.25 is broken for MIPS
 		depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25_X)
 		# Unsupported for MIPS R5
-		depends on !BR2_MIPS_CPU_MIPS32R5
+		depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
 		# Unsupported for MIPS R6
 		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
@@ -75,7 +75,7 @@ choice
 		# Broken or unsupported ARM cores
 		depends on !BR2_cortex_a17
 		# Unsupported for MIPS R5
-		depends on !BR2_MIPS_CPU_MIPS32R5
+		depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
 		# Unsupported for MIPS R6
 		depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 		# musl ppc64 unsupported
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 07/13] MIPS: enable Codescape MTI toolchain for R5
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (5 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 06/13] MIPS: add mips64r5 " Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 08/13] MIPS: add support for interAptiv cores Vicente Olivert Riera
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 toolchain/toolchain-external/Config.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index b097a67..6b71bc6 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -346,7 +346,8 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
 	bool "Codescape MTI GNU Linux Toolchain 2016.05"
 	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
-	depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT)
+	depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \
+		BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT)
 	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
 	select BR2_INSTALL_LIBSTDCPP
 	select BR2_HOSTARCH_NEEDS_IA32_LIBS
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 08/13] MIPS: add support for interAptiv cores
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (6 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 07/13] MIPS: enable Codescape MTI toolchain for R5 Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 09/13] MIPS: add support for M5100 cores Vicente Olivert Riera
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

-march=interaptiv support starts from GCC-6, so disable previous
versions when selecting this core.

Also disable external toolchains that don't support this core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips                    | 5 +++++
 package/gcc/Config.in.host             | 8 ++++++++
 toolchain/toolchain-external/Config.in | 4 ++++
 3 files changed, 17 insertions(+)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 63f23b4..ac87e2c 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -43,6 +43,10 @@ config BR2_mips_32r6
 	bool "Generic MIPS32R6"
 	depends on !BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS32R6
+config BR2_mips_interaptiv
+	bool "interAptiv"
+	depends on !BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS32R2
 config BR2_mips_64
 	bool "Generic MIPS64"
 	depends on BR2_ARCH_IS_64
@@ -104,6 +108,7 @@ config BR2_GCC_TARGET_ARCH
 	default "mips32r2"	if BR2_mips_32r2
 	default "mips32r5"	if BR2_mips_32r5
 	default "mips32r6"	if BR2_mips_32r6
+	default "interaptiv"	if BR2_mips_interaptiv
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
 	default "mips64r5"	if BR2_mips_64r5
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index c5fcbc8..9ad4d0c 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -28,6 +28,8 @@ choice
 		depends on !BR2_sparc_leon3
 		# Broken or unsupported x86 cores
 		depends on !BR2_x86_jaguar && !BR2_x86_steamroller
+		# Unsupported MIPS cores
+		depends on !BR2_mips_interaptiv
 		# Unsupported for MIPS R5
 		depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
 		# Unsupported for MIPS R6
@@ -46,6 +48,8 @@ choice
 		depends on !BR2_cortex_a12 && !BR2_cortex_a17
 		# Broken or unsupported PPC cores
 		depends on !BR2_powerpc_power8
+		# Unsupported MIPS cores
+		depends on !BR2_mips_interaptiv
 		# gcc-4.8.x + binutils-2.25 is broken for MIPS
 		depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25_X)
 		# Unsupported for MIPS R5
@@ -74,6 +78,8 @@ choice
 		depends on !BR2_arc && !BR2_bfin
 		# Broken or unsupported ARM cores
 		depends on !BR2_cortex_a17
+		# Unsupported MIPS cores
+		depends on !BR2_mips_interaptiv
 		# Unsupported for MIPS R5
 		depends on !BR2_MIPS_CPU_MIPS32R5 && !BR2_MIPS_CPU_MIPS64R5
 		# Unsupported for MIPS R6
@@ -93,6 +99,8 @@ choice
 		depends on !BR2_arc && !BR2_bfin
 		# musl ppc64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
+		# Unsupported MIPS cores
+		depends on !BR2_mips_interaptiv
 		# musl mips64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
 		select BR2_GCC_NEEDS_MPC
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 6b71bc6..509505d 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -191,6 +191,8 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
 	bool "Sourcery CodeBench MIPS 2016.05"
 	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
 	depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
+	# Unsupported MIPS cores
+	depends on !BR2_mips_interaptiv
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	depends on !BR2_MIPS_NABI32
 	depends on !BR2_STATIC_LIBS
@@ -595,6 +597,8 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
 		BR2_sh4 || BR2_sh4eb || \
 		BR2_x86_64
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+	# Unsupported MIPS cores
+	depends on !BR2_mips_interaptiv
 	# Unsupported for MIPS R6
 	depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 	select BR2_TOOLCHAIN_EXTERNAL_MUSL
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 09/13] MIPS: add support for M5100 cores
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (7 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 08/13] MIPS: add support for interAptiv cores Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 10/13] MIPS: add support for M5101 cores Vicente Olivert Riera
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

-march=m5100 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that M5100 implies a MIPS R5 CPU, and some GCC versions are already
disabled for R5, so we don't need to disable those ones for M5100 as
well.

Also disable external toolchains that don't support this core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips                    | 5 +++++
 package/gcc/Config.in.host             | 2 +-
 toolchain/toolchain-external/Config.in | 2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index ac87e2c..9ed42a2 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -47,6 +47,10 @@ config BR2_mips_interaptiv
 	bool "interAptiv"
 	depends on !BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS32R2
+config BR2_mips_m5100
+	bool "M5100"
+	depends on !BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS32R5
 config BR2_mips_64
 	bool "Generic MIPS64"
 	depends on BR2_ARCH_IS_64
@@ -109,6 +113,7 @@ config BR2_GCC_TARGET_ARCH
 	default "mips32r5"	if BR2_mips_32r5
 	default "mips32r6"	if BR2_mips_32r6
 	default "interaptiv"	if BR2_mips_interaptiv
+	default "m5100"		if BR2_mips_m5100
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
 	default "mips64r5"	if BR2_mips_64r5
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 9ad4d0c..d104445 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -100,7 +100,7 @@ choice
 		# musl ppc64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
 		# Unsupported MIPS cores
-		depends on !BR2_mips_interaptiv
+		depends on !BR2_mips_interaptiv && !BR2_mips_m5100
 		# musl mips64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
 		select BR2_GCC_NEEDS_MPC
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 509505d..b212e93 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -598,7 +598,7 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
 		BR2_x86_64
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	# Unsupported MIPS cores
-	depends on !BR2_mips_interaptiv
+	depends on !BR2_mips_interaptiv && !BR2_mips_m5100
 	# Unsupported for MIPS R6
 	depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 	select BR2_TOOLCHAIN_EXTERNAL_MUSL
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 10/13] MIPS: add support for M5101 cores
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (8 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 09/13] MIPS: add support for M5100 cores Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 11/13] MIPS: add support for I6400 cores Vicente Olivert Riera
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

-march=m5101 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that M5101 implies a MIPS R5 CPU, and some GCC versions are already
disabled for R5, so we don't need to disable those ones for M5101 as
well.

Also disable external toolchains that don't support this core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips                    | 5 +++++
 package/gcc/Config.in.host             | 3 ++-
 toolchain/toolchain-external/Config.in | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 9ed42a2..3881909 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -51,6 +51,10 @@ config BR2_mips_m5100
 	bool "M5100"
 	depends on !BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS32R5
+config BR2_mips_m5101
+	bool "M5101"
+	depends on !BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS32R5
 config BR2_mips_64
 	bool "Generic MIPS64"
 	depends on BR2_ARCH_IS_64
@@ -114,6 +118,7 @@ config BR2_GCC_TARGET_ARCH
 	default "mips32r6"	if BR2_mips_32r6
 	default "interaptiv"	if BR2_mips_interaptiv
 	default "m5100"		if BR2_mips_m5100
+	default "m5101"		if BR2_mips_m5101
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
 	default "mips64r5"	if BR2_mips_64r5
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index d104445..4128dce 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -100,7 +100,8 @@ choice
 		# musl ppc64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
 		# Unsupported MIPS cores
-		depends on !BR2_mips_interaptiv && !BR2_mips_m5100
+		depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && \
+			!BR2_mips_m5101
 		# musl mips64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
 		select BR2_GCC_NEEDS_MPC
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index b212e93..d9e7ee1 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -598,7 +598,7 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
 		BR2_x86_64
 	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
 	# Unsupported MIPS cores
-	depends on !BR2_mips_interaptiv && !BR2_mips_m5100
+	depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && !BR2_mips_m5101
 	# Unsupported for MIPS R6
 	depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
 	select BR2_TOOLCHAIN_EXTERNAL_MUSL
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 11/13] MIPS: add support for I6400 cores
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (9 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 10/13] MIPS: add support for M5101 cores Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 12/13] MIPS: add support for P5600 cores Vicente Olivert Riera
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

-march=i6400 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that I6400 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for I6400 as
well.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips        | 5 +++++
 package/gcc/Config.in.host | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 3881909..73be3c9 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -71,6 +71,10 @@ config BR2_mips_64r6
 	bool "Generic MIPS64R6"
 	depends on BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS64R6
+config BR2_mips_i6400
+	bool "I6400"
+	depends on BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS64R6
 endchoice
 
 
@@ -123,6 +127,7 @@ config BR2_GCC_TARGET_ARCH
 	default "mips64r2"	if BR2_mips_64r2
 	default "mips64r5"	if BR2_mips_64r5
 	default "mips64r6"	if BR2_mips_64r6
+	default "i6400"		if BR2_mips_i6400
 
 config BR2_MIPS_OABI32
 	bool
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 4128dce..3603670 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -101,7 +101,7 @@ choice
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
 		# Unsupported MIPS cores
 		depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && \
-			!BR2_mips_m5101
+			!BR2_mips_m5101 && !BR2_mips_i6400
 		# musl mips64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
 		select BR2_GCC_NEEDS_MPC
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 12/13] MIPS: add support for P5600 cores
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (10 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 11/13] MIPS: add support for I6400 cores Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-09-30  9:36 ` [Buildroot] [PATCH 13/13] MIPS: add support for P6600 cores Vicente Olivert Riera
  2016-10-15 11:22 ` [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Peter Korsgaard
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 73be3c9..897c944 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -55,6 +55,10 @@ config BR2_mips_m5101
 	bool "M5101"
 	depends on !BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS32R5
+config BR2_mips_p5600
+	bool "P5600"
+	depends on !BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS32R5
 config BR2_mips_64
 	bool "Generic MIPS64"
 	depends on BR2_ARCH_IS_64
@@ -123,6 +127,7 @@ config BR2_GCC_TARGET_ARCH
 	default "interaptiv"	if BR2_mips_interaptiv
 	default "m5100"		if BR2_mips_m5100
 	default "m5101"		if BR2_mips_m5101
+	default "p5600"		if BR2_mips_p5600
 	default "mips64"	if BR2_mips_64
 	default "mips64r2"	if BR2_mips_64r2
 	default "mips64r5"	if BR2_mips_64r5
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 13/13] MIPS: add support for P6600 cores
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (11 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 12/13] MIPS: add support for P5600 cores Vicente Olivert Riera
@ 2016-09-30  9:36 ` Vicente Olivert Riera
  2016-10-15 11:22 ` [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Peter Korsgaard
  13 siblings, 0 replies; 15+ messages in thread
From: Vicente Olivert Riera @ 2016-09-30  9:36 UTC (permalink / raw)
  To: buildroot

-march=p6600 is not yet supported in GCC upstream, so disabling all
versions when selecting this core.

Note that P6600 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for P6600 as
well.

The external Codescape IMG GNU Linux Toolchain has support for this
core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 arch/Config.in.mips        | 5 +++++
 package/gcc/Config.in.host | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 897c944..f7bfa21 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -79,6 +79,10 @@ config BR2_mips_i6400
 	bool "I6400"
 	depends on BR2_ARCH_IS_64
 	select BR2_MIPS_CPU_MIPS64R6
+config BR2_mips_p6600
+	bool "P6600"
+	depends on BR2_ARCH_IS_64
+	select BR2_MIPS_CPU_MIPS64R6
 endchoice
 
 
@@ -133,6 +137,7 @@ config BR2_GCC_TARGET_ARCH
 	default "mips64r5"	if BR2_mips_64r5
 	default "mips64r6"	if BR2_mips_64r6
 	default "i6400"		if BR2_mips_i6400
+	default "p6600"		if BR2_mips_p6600
 
 config BR2_MIPS_OABI32
 	bool
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 3603670..5335267 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -101,7 +101,7 @@ choice
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
 		# Unsupported MIPS cores
 		depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && \
-			!BR2_mips_m5101 && !BR2_mips_i6400
+			!BR2_mips_m5101 && !BR2_mips_i6400 && !BR2_mips_p6600
 		# musl mips64 unsupported
 		depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
 		select BR2_GCC_NEEDS_MPC
@@ -112,6 +112,8 @@ choice
 		bool "gcc 6.x"
 		# Broken or unsupported architectures
 		depends on !BR2_arc
+		# Unsupported MIPS cores
+		depends on !BR2_mips_p6600
 		select BR2_GCC_NEEDS_MPC
 		select BR2_GCC_SUPPORTS_GRAPHITE
 		select BR2_TOOLCHAIN_GCC_AT_LEAST_6
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores
  2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
                   ` (12 preceding siblings ...)
  2016-09-30  9:36 ` [Buildroot] [PATCH 13/13] MIPS: add support for P6600 cores Vicente Olivert Riera
@ 2016-10-15 11:22 ` Peter Korsgaard
  13 siblings, 0 replies; 15+ messages in thread
From: Peter Korsgaard @ 2016-10-15 11:22 UTC (permalink / raw)
  To: buildroot

>>>>> "Vicente" == Vicente Olivert Riera <Vincent.Riera@imgtec.com> writes:

 > This patch series aims to improve the MIPS architecture support and add
 > a small starting set of MIPS cores.

 > Currently you can build root file systems for mips32, mips32r2,
 > mips32r6, mips64, mips64r2 and mips64r6 ISAs. These are all generic
 > -march options so the compiler will not activate any core specific
 > optimizations.

 > The first thing we do in this series is to add some blind options to
 > specify which CPU ISA is gonna be used.

 > Then we make the current target architecture variants to select those
 > new added CPU ISA options. We do this in preparation for the addition
 > of specific cores that are also based on some ISA, so the will also
 > select the appropriate one. This will still allow us to apply ISA
 > specific tweaks as we already do.

 > After that, we replace any occurrences of BR2_mips_* by the appropriate
 > CPU ISA option so this will still be valid when the user select an
 > specific core instead of a generic variant.

 > The next step is to make the options of the "Target Architecture
 > Variant" menu more explicit by specifying they are generic. This is just
 > a cosmetic change but also useful so people will not get confused.

 > After that we add new generic variants for R5 ISAs.

 > The Codescape MTI external toolchain currently depends on R2 ISAs, but
 > it also has support for R5, so we enable that.

 > Finally we add suport for some specific MIPS cores, disabling the
 > unsuported GCC versions and external toolchains when appropriate.

Committed series, thanks!

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-10-15 11:22 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-30  9:36 [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 01/13] MIPS: add default CPU ISAs Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 02/13] MIPS: target architecture variants select the appropriate CPU ISA Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 03/13] MIPS: replace every BR2_mips_* with the new MIPS CPU options Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 04/13] MIPS: state that the current architecture variants are generic Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 05/13] MIPS: add mips32r5 generic architecture variant Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 06/13] MIPS: add mips64r5 " Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 07/13] MIPS: enable Codescape MTI toolchain for R5 Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 08/13] MIPS: add support for interAptiv cores Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 09/13] MIPS: add support for M5100 cores Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 10/13] MIPS: add support for M5101 cores Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 11/13] MIPS: add support for I6400 cores Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 12/13] MIPS: add support for P5600 cores Vicente Olivert Riera
2016-09-30  9:36 ` [Buildroot] [PATCH 13/13] MIPS: add support for P6600 cores Vicente Olivert Riera
2016-10-15 11:22 ` [Buildroot] [PATCH 00/13] MIPS: improve architecture support and add specific cores Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.