x86/fpu/init: Move __setup() functions to fpu/init.c
[firefly-linux-kernel-4.4.55.git] / arch / x86 / kernel / fpu / init.c
index e9f1d6e6214657b3b4a7dca8e3ad4b80224a52b9..fe8cce7fc5ea7c17965b9c558f29d0471f744854 100644 (file)
@@ -286,3 +286,40 @@ static int __init no_387(char *s)
 }
 
 __setup("no387", no_387);
+
+static int __init x86_xsave_setup(char *s)
+{
+       if (strlen(s))
+               return 0;
+       setup_clear_cpu_cap(X86_FEATURE_XSAVE);
+       setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT);
+       setup_clear_cpu_cap(X86_FEATURE_XSAVES);
+       setup_clear_cpu_cap(X86_FEATURE_AVX);
+       setup_clear_cpu_cap(X86_FEATURE_AVX2);
+       return 1;
+}
+__setup("noxsave", x86_xsave_setup);
+
+static int __init x86_xsaveopt_setup(char *s)
+{
+       setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT);
+       return 1;
+}
+__setup("noxsaveopt", x86_xsaveopt_setup);
+
+static int __init x86_xsaves_setup(char *s)
+{
+       setup_clear_cpu_cap(X86_FEATURE_XSAVES);
+       return 1;
+}
+__setup("noxsaves", x86_xsaves_setup);
+
+static int __init x86_fxsr_setup(char *s)
+{
+       setup_clear_cpu_cap(X86_FEATURE_FXSR);
+       setup_clear_cpu_cap(X86_FEATURE_FXSR_OPT);
+       setup_clear_cpu_cap(X86_FEATURE_XMM);
+       return 1;
+}
+__setup("nofxsr", x86_fxsr_setup);
+