MIPS: Correct `nofpu' non-functionality
authorMaciej W. Rozycki <macro@linux-mips.org>
Fri, 3 Apr 2015 22:26:04 +0000 (23:26 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 7 Apr 2015 23:09:49 +0000 (01:09 +0200)
The `cpu_has_fpu' feature flag must not be hardcoded to 1 or the `nofpu'
kernel option will be ignored.  Remove any such overrides and add a
cautionary note.  Hardcoding to 0 is fine for FPU-less platforms.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9694/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/cpu-features.h
arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h
arch/mips/include/asm/mach-dec/cpu-feature-overrides.h
arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h
arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h
arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h
arch/mips/include/asm/mach-rm/cpu-feature-overrides.h

index ea68a38..62a4730 100644 (file)
@@ -68,6 +68,7 @@
 #ifndef cpu_has_octeon_cache
 #define cpu_has_octeon_cache   0
 #endif
+/* Don't override `cpu_has_fpu' to 1 or the "nofpu" option won't work.  */
 #ifndef cpu_has_fpu
 #define cpu_has_fpu            (current_cpu_data.options & MIPS_CPU_FPU)
 #define raw_cpu_has_fpu                (raw_current_cpu_data.options & MIPS_CPU_FPU)
index 71d4bfa..30c5cd9 100644 (file)
@@ -14,7 +14,6 @@
 #define cpu_has_3k_cache       0
 #define cpu_has_4k_cache       1
 #define cpu_has_tx39_cache     0
-#define cpu_has_fpu            1
 #define cpu_has_32fpr          1
 #define cpu_has_counter                1
 #define cpu_has_watch          0
index acce27f..bdf045f 100644 (file)
@@ -15,7 +15,6 @@
 /* Generic ones first.  */
 #define cpu_has_tlb                    1
 #define cpu_has_tx39_cache             0
-#define cpu_has_fpu                    1
 #define cpu_has_divec                  0
 #define cpu_has_prefetch               0
 #define cpu_has_mcheck                 0
index 1dfe474..9b19b72 100644 (file)
@@ -16,7 +16,6 @@
 #define cpu_has_tlb            1
 #define cpu_has_4kex           1
 #define cpu_has_4k_cache       1
-#define cpu_has_fpu            1
 #define cpu_has_32fpr          1
 #define cpu_has_counter                1
 #define cpu_has_mips16         0
index 2e1ec6c..241409b 100644 (file)
@@ -26,7 +26,6 @@
 /* Settings which are common for all ip32 CPUs */
 #define cpu_has_tlb            1
 #define cpu_has_4kex           1
-#define cpu_has_fpu            1
 #define cpu_has_32fpr          1
 #define cpu_has_counter                1
 #define cpu_has_mips16         0
index 6d69332..acc3768 100644 (file)
@@ -34,7 +34,6 @@
 #define cpu_has_dsp            0
 #define cpu_has_dsp2           0
 #define cpu_has_ejtag          0
-#define cpu_has_fpu            1
 #define cpu_has_ic_fills_f_dc  0
 #define cpu_has_inclusive_pcaches      1
 #define cpu_has_llsc           1
index f095c52..98cf404 100644 (file)
@@ -15,7 +15,6 @@
 #define cpu_has_tlb            1
 #define cpu_has_4kex           1
 #define cpu_has_4k_cache       1
-#define cpu_has_fpu            1
 #define cpu_has_32fpr          1
 #define cpu_has_counter                1
 #define cpu_has_watch          0