MIPS: Reorganize ISA constants strictly as bitmasks.
authorRalf Baechle <ralf@ongar.mips.com>
Fri, 9 Dec 2005 12:20:49 +0000 (12:20 +0000)
committer <ralf@denk.linux-mips.net> <>
Tue, 10 Jan 2006 13:39:07 +0000 (13:39 +0000)
Signed-off-by: Ralf Baechle <ralf@ongar.mips.com>
include/asm-mips/cpu-features.h
include/asm-mips/cpu.h

index f8be4a4707543b246ff4bc4f845f7c0c57912c52..78c9cc2735d5df2d5a1f916e9e9fdefc8ebe0ec5 100644 (file)
 #endif
 #endif
 
 #endif
 #endif
 
+# ifndef cpu_has_mips32r1
+# define cpu_has_mips32r1      (cpu_data[0].isa_level & MIPS_CPU_ISA_M32R1)
+# endif
+# ifndef cpu_has_mips32r2
+# define cpu_has_mips32r2      (cpu_data[0].isa_level & MIPS_CPU_ISA_M32R2)
+# endif
+# ifndef cpu_has_mips64r1
+# define cpu_has_mips64r1      (cpu_data[0].isa_level & MIPS_CPU_ISA_M64R1)
+# endif
+# ifndef cpu_has_mips64r2
+# define cpu_has_mips64r2      (cpu_data[0].isa_level & MIPS_CPU_ISA_M64R2)
+# endif
+
+/*
+ * Shortcuts ...
+ */
+#define cpu_has_mips32 (cpu_has_mips32r1 | cpu_has_mips32r2)
+#define cpu_has_mips64 (cpu_has_mips64r1 | cpu_has_mips64r2)
+#define cpu_has_mips_r1        (cpu_has_mips32r1 | cpu_has_mips64r1)
+#define cpu_has_mips_r2        (cpu_has_mips32r2 | cpu_has_mips64r2)
+
 #ifndef cpu_has_dsp
 #define cpu_has_dsp            (cpu_data[0].ases & MIPS_ASE_DSP)
 #endif
 #ifndef cpu_has_dsp
 #define cpu_has_dsp            (cpu_data[0].ases & MIPS_ASE_DSP)
 #endif
 # ifndef cpu_has_64bit_addresses
 # define cpu_has_64bit_addresses       0
 # endif
 # ifndef cpu_has_64bit_addresses
 # define cpu_has_64bit_addresses       0
 # endif
-# ifndef cpu_has_mips32r1
-# define cpu_has_mips32r1      (cpu_data[0].isa_level & MIPS_CPU_ISA_M32R1)
-# endif
-# ifndef cpu_has_mips32r2
-# define cpu_has_mips32r2      (cpu_data[0].isa_level & MIPS_CPU_ISA_M32R2)
-# endif
-# ifndef cpu_has_mips64r1
-# define cpu_has_mips64r1      0
-# endif
-# ifndef cpu_has_mips64r2
-# define cpu_has_mips64r2      0
-# endif
 #endif
 
 #ifdef CONFIG_64BIT
 #endif
 
 #ifdef CONFIG_64BIT
 # ifndef cpu_has_64bit_addresses
 # define cpu_has_64bit_addresses       1
 # endif
 # ifndef cpu_has_64bit_addresses
 # define cpu_has_64bit_addresses       1
 # endif
-# ifndef cpu_has_mips32r1
-# define cpu_has_mips32r1      0
-# endif
-# ifndef cpu_has_mips32r2
-# define cpu_has_mips32r2      0
-# endif
-# ifndef cpu_has_mips64r1
-# define cpu_has_mips64r1      (cpu_data[0].isa_level & MIPS_CPU_ISA_M64R1)
-# endif
-# ifndef cpu_has_mips64r2
-# define cpu_has_mips64r2      (cpu_data[0].isa_level & MIPS_CPU_ISA_M64R2)
-# endif
 #endif
 
 #ifdef CONFIG_CPU_MIPSR2
 #endif
 
 #ifdef CONFIG_CPU_MIPSR2
index 48c37c46053ae06af123a15ee8360c51b7bcf836..934e063e79f1752f0ca0a8368ced8a66c85c34ba 100644 (file)
  * ISA Level encodings
  *
  */
  * ISA Level encodings
  *
  */
-#define MIPS_CPU_ISA_64BIT     0x00008000
-
 #define MIPS_CPU_ISA_I         0x00000001
 #define MIPS_CPU_ISA_II                0x00000002
 #define MIPS_CPU_ISA_I         0x00000001
 #define MIPS_CPU_ISA_II                0x00000002
-#define MIPS_CPU_ISA_III       (0x00000003 | MIPS_CPU_ISA_64BIT)
-#define MIPS_CPU_ISA_IV                (0x00000004 | MIPS_CPU_ISA_64BIT)
-#define MIPS_CPU_ISA_V         (0x00000005 | MIPS_CPU_ISA_64BIT)
+#define MIPS_CPU_ISA_III       0x00000003
+#define MIPS_CPU_ISA_IV                0x00000004
+#define MIPS_CPU_ISA_V         0x00000005
 #define MIPS_CPU_ISA_M32R1     0x00000020
 #define MIPS_CPU_ISA_M32R2     0x00000040
 #define MIPS_CPU_ISA_M32R1     0x00000020
 #define MIPS_CPU_ISA_M32R2     0x00000040
-#define MIPS_CPU_ISA_M64R1     (0x00000080 | MIPS_CPU_ISA_64BIT)
-#define MIPS_CPU_ISA_M64R2     (0x00000100 | MIPS_CPU_ISA_64BIT)
+#define MIPS_CPU_ISA_M64R1     0x00000080
+#define MIPS_CPU_ISA_M64R2     0x00000100
+
+#define MIPS_CPU_ISA_32BIT (MIPS_CPU_ISA_I | MIPS_CPU_ISA_II | \
+       MIPS_CPU_ISA_M32R1 | MIPS_CPU_ISA_M32R2 )
+#define MIPS_CPU_ISA_64BIT (MIPS_CPU_ISA_III | MIPS_CPU_ISA_IV | \
+       MIPS_CPU_ISA_V | MIPS_CPU_ISA_M64R1 | MIPS_CPU_ISA_M64R2)
 
 /*
  * CPU Option encodings
 
 /*
  * CPU Option encodings