aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@mips.com>2018-11-07 23:14:11 +0000
committerPaul Burton <paul.burton@mips.com>2018-11-09 10:23:19 -0800
commit183b40f992c8f98082c4d72043ecdeba0e6a4367 (patch)
treea22b758fffbbae318784855fa5a1497e3388a0d9 /arch
parentMIPS: Remove struct task_struct fpu state when CONFIG_MIPS_FP_SUPPORT=n (diff)
downloadlinux-dev-183b40f992c8f98082c4d72043ecdeba0e6a4367.tar.xz
linux-dev-183b40f992c8f98082c4d72043ecdeba0e6a4367.zip
MIPS: Allow FP support to be disabled
Allow the user to configure the kernel to omit support for floating point, by setting CONFIG_MIPS_FP_SUPPORT=n. In an attempt to avoid problems for users who don't understand the impact of this, only expose the option when CONFIG_EXPERT=y. When CONFIG_MIPS_FP_SUPPORT=n all support for FPU hardware, FPU emulation & FP context will be removed from the kernel. If a userland program attempts to execute a floating point instruction it will receive a SIGILL. Setting CONFIG_MIPS_FP_SUPPORT=n shaves around 112KB from a 64r6el_defconfig build using GCC 8.1.0. This also helps prepare us for supporting the nanoMIPS ISA, for which floating point support has not been finalized. Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/21014/ Cc: linux-mips@linux-mips.org
Diffstat (limited to '')
-rw-r--r--arch/mips/Kconfig14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 378379c098c9..9006ae11981d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -2256,7 +2256,19 @@ config CPU_GENERIC_DUMP_TLB
default y if !(CPU_R3000 || CPU_R8000 || CPU_TX39XX)
config MIPS_FP_SUPPORT
- def_bool y
+ bool "Floating Point support" if EXPERT
+ default y
+ help
+ Select y to include support for floating point in the kernel
+ including initialization of FPU hardware, FP context save & restore
+ and emulation of an FPU where necessary. Without this support any
+ userland program attempting to use floating point instructions will
+ receive a SIGILL.
+
+ If you know that your userland will not attempt to use floating point
+ instructions then you can say n here to shrink the kernel a little.
+
+ If unsure, say y.
config CPU_R2300_FPU
bool