MIPS: add mips64r5 generic architecture variant
authorVicente Olivert Riera <Vincent.Riera@imgtec.com>
Fri, 30 Sep 2016 09:36:52 +0000 (10:36 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Sat, 15 Oct 2016 11:22:17 +0000 (13:22 +0200)
-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>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
arch/Config.in.mips
package/gcc/Config.in.host

index 94f6fa3cc9fc8d352211486c22c15197936b149e..63f23b4abd66042c1478ce771a2b8bfab9fe0904 100644 (file)
@@ -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
index 3af9a24b6847f0040f998c9e8c30726771044415..b6c46d85fc03a05b84c1f0be951b609300d3e4e5 100644 (file)
@@ -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