X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a8f843853df7cd45e223edb5a586cf81f4cf1627..38b25a187b7c5a833e6d8e5ba215f25043d2d3ab:/target/linux/generic-2.6/patches-2.6.30/025-mips_disable_fpu.patch?ds=inline

diff --git a/target/linux/generic-2.6/patches-2.6.30/025-mips_disable_fpu.patch b/target/linux/generic-2.6/patches-2.6.30/025-mips_disable_fpu.patch
index e71bf48f2..47ff7073d 100644
--- a/target/linux/generic-2.6/patches-2.6.30/025-mips_disable_fpu.patch
+++ b/target/linux/generic-2.6/patches-2.6.30/025-mips_disable_fpu.patch
@@ -6,17 +6,15 @@ precious blocks on an embedded system.
 
 Signed-off-by: Florian Fainelli <florian@openwrt.org>
 --
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index 65d3b19..a467ee5 100644
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -811,6 +811,17 @@ config I8259
+@@ -791,6 +791,17 @@ config I8259
  config MIPS_BONITO64
  	bool
  
 +config MIPS_FPU_EMU
-+	bool
-+	default n
++	bool "Enable FPU emulation"
++	default y
 +	help
 +	   This option allows building a kernel with or without the Algorithmics
 +	   FPU emulator enabled. Turning off this option results in a kernel which
@@ -28,8 +26,6 @@ index 65d3b19..a467ee5 100644
  config MIPS_MSC
  	bool
  
-diff --git a/arch/mips/math-emu/Makefile b/arch/mips/math-emu/Makefile
-index d547efd..7fdef24 100644
 --- a/arch/mips/math-emu/Makefile
 +++ b/arch/mips/math-emu/Makefile
 @@ -2,12 +2,14 @@
@@ -49,8 +45,6 @@ index d547efd..7fdef24 100644
 +	   dp_sqrt.o sp_sqrt.o
  
  EXTRA_CFLAGS += -Werror
-diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
-index 890f779..9f4c767 100644
 --- a/arch/mips/math-emu/cp1emu.c
 +++ b/arch/mips/math-emu/cp1emu.c
 @@ -56,6 +56,12 @@
@@ -77,7 +71,7 @@ index 890f779..9f4c767 100644
  /* Control registers */
  
  #define FPCREG_RID	0	/* $0  = revision id */
-@@ -1273,6 +1275,13 @@ int fpu_emulator_cop1Handler(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+@@ -1273,6 +1275,13 @@ int fpu_emulator_cop1Handler(struct pt_r
  
  	return sig;
  }
@@ -91,11 +85,9 @@ index 890f779..9f4c767 100644
  
  #ifdef CONFIG_DEBUG_FS
  extern struct dentry *mips_debugfs_dir;
-diff --git a/arch/mips/math-emu/dsemul.c b/arch/mips/math-emu/dsemul.c
-index df7b9d9..9b42bfd 100644
 --- a/arch/mips/math-emu/dsemul.c
 +++ b/arch/mips/math-emu/dsemul.c
-@@ -109,6 +109,7 @@ int mips_dsemul(struct pt_regs *regs, mips_instruction ir, unsigned long cpc)
+@@ -109,6 +109,7 @@ int mips_dsemul(struct pt_regs *regs, mi
  	return SIGILL;		/* force out of emulation loop */
  }
  
@@ -113,8 +105,6 @@ index df7b9d9..9b42bfd 100644
 +	return 0;
 +}
 +#endif /* CONFIG_MIPS_FPU_EMU */
-diff --git a/arch/mips/math-emu/kernel_linkage.c b/arch/mips/math-emu/kernel_linkage.c
-index 52e6c58..211a399 100644
 --- a/arch/mips/math-emu/kernel_linkage.c
 +++ b/arch/mips/math-emu/kernel_linkage.c
 @@ -29,6 +29,7 @@
@@ -125,7 +115,7 @@ index 52e6c58..211a399 100644
  void fpu_emulator_init_fpu(void)
  {
  	static int first = 1;
-@@ -112,4 +113,34 @@ int fpu_emulator_restore_context32(struct sigcontext32 __user *sc)
+@@ -112,4 +113,36 @@ int fpu_emulator_restore_context32(struc
  
  	return err;
  }
@@ -135,6 +125,8 @@ index 52e6c58..211a399 100644
 +
 +void fpu_emulator_init_fpu(void)
 +{
++	printk(KERN_INFO "FPU emulator disabled, make sure your toolchain"
++		"was compiled with software floating point support (soft-float)\n");
 +	return;
 +}
 +