X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a8f843853df7cd45e223edb5a586cf81f4cf1627..259f6426607dfd76f98eb9ffa44cb88554ffeffc:/target/linux/generic-2.6/patches-2.6.28/024-mips_disable_fpu.patch?ds=inline diff --git a/target/linux/generic-2.6/patches-2.6.28/024-mips_disable_fpu.patch b/target/linux/generic-2.6/patches-2.6.28/024-mips_disable_fpu.patch index e71bf48f2..718d08dc3 100644 --- a/target/linux/generic-2.6/patches-2.6.28/024-mips_disable_fpu.patch +++ b/target/linux/generic-2.6/patches-2.6.28/024-mips_disable_fpu.patch @@ -6,17 +6,15 @@ precious blocks on an embedded system. Signed-off-by: Florian Fainelli -- -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 +@@ -751,6 +751,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; +} +