[PATCH 30/48] MIPS: Correct `nofpu' non-functionality

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxx>
---
linux-mips-cpu-has-fpu.patch
Index: linux/arch/mips/include/asm/cpu-features.h
===================================================================
--- linux.orig/arch/mips/include/asm/cpu-features.h	2015-04-02 20:18:50.163509000 +0100
+++ linux/arch/mips/include/asm/cpu-features.h	2015-04-02 20:27:56.252205000 +0100
@@ -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: linux/arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h
===================================================================
--- linux.orig/arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h	2015-04-02 20:18:50.166512000 +0100
+++ linux/arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h	2015-04-02 20:27:56.276209000 +0100
@@ -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: linux/arch/mips/include/asm/mach-dec/cpu-feature-overrides.h
===================================================================
--- linux.orig/arch/mips/include/asm/mach-dec/cpu-feature-overrides.h	2015-04-02 20:18:50.169511000 +0100
+++ linux/arch/mips/include/asm/mach-dec/cpu-feature-overrides.h	2015-04-02 20:27:56.289206000 +0100
@@ -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: linux/arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h
===================================================================
--- linux.orig/arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h	2015-04-02 20:18:50.172504000 +0100
+++ linux/arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h	2015-04-02 20:27:56.299204000 +0100
@@ -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: linux/arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h
===================================================================
--- linux.orig/arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h	2015-04-02 20:18:50.175504000 +0100
+++ linux/arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h	2015-04-02 20:27:56.306207000 +0100
@@ -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: linux/arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h
===================================================================
--- linux.orig/arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h	2015-04-02 20:18:50.178504000 +0100
+++ linux/arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h	2015-04-02 20:27:56.323205000 +0100
@@ -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: linux/arch/mips/include/asm/mach-rm/cpu-feature-overrides.h
===================================================================
--- linux.orig/arch/mips/include/asm/mach-rm/cpu-feature-overrides.h	2015-04-02 20:18:50.182511000 +0100
+++ linux/arch/mips/include/asm/mach-rm/cpu-feature-overrides.h	2015-04-02 20:27:56.333207000 +0100
@@ -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





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux