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 ea68a38bb61d91c0515c687aceb38da3f8119075..62a4730de86a3bf22752d1efe291569366dbe795 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 71d4bface1dc6ea9796e902d2beb52243a0c0eac..30c5cd9fd9733d798a6d49e45131989a067e1089 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 acce27fd2bb8f554c05010e784765d3a46886d3b..bdf045fb00c8001de485b98a7720de19789aa8b8 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 1dfe47453ea41322ab5a971e64d6c9203adefad8..9b19b72dba56ff04442480cfe0fe0af3c0edb5f2 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 2e1ec6cfedd5d939cbe328da3fb14571773771f0..241409b78ff1c86f86a19f1eb09727387419ffd2 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 6d69332f21ecd53e09eebfba0de74f1c9fc1daa6..acc376897e46038707f9978c6a8f2db87c102020 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 f095c529c48c1f7150d523744c17fe2a2abf3a7a..98cf40417c5d66aa12389a60ceb1ef5e55d05cd5 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