MIPS: MT extensions are not available on MIPS32r1
authorPaul Cercueil <paul@crapouillou.net>
Fri, 25 Jun 2021 10:49:29 +0000 (11:49 +0100)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 29 Jun 2021 08:14:58 +0000 (10:14 +0200)
MIPS MT extensions were added with the MIPS 34K processor, which was
based on the MIPS32r2 ISA.

This fixes a build error when building a generic kernel for a MIPS32r1
CPU.

Fixes: c434b9f80b09 ("MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol")
Cc: stable@vger.kernel.org # v5.9
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/cpu-features.h

index 336e02b..3d71081 100644 (file)
@@ -64,6 +64,8 @@
        ((MIPS_ISA_REV >= (ge)) && (MIPS_ISA_REV < (lt)))
 #define __isa_range_or_flag(ge, lt, flag) \
        (__isa_range(ge, lt) || ((MIPS_ISA_REV < (lt)) && __isa(flag)))
+#define __isa_range_and_ase(ge, lt, ase) \
+       (__isa_range(ge, lt) && __ase(ase))
 
 /*
  * SMP assumption: Options of CPU 0 are a superset of all processors.
 #endif
 
 #ifndef cpu_has_mipsmt
-#define cpu_has_mipsmt         __isa_lt_and_ase(6, MIPS_ASE_MIPSMT)
+#define cpu_has_mipsmt         __isa_range_and_ase(2, 6, MIPS_ASE_MIPSMT)
 #endif
 
 #ifndef cpu_has_vp