setup_clear_cpu_cap(X86_FEATURE_FPU);
return 1;
}
-
__setup("no387", no_387);
-static int __init x86_xsave_setup(char *s)
+/*
+ * Disable all xstate CPU features:
+ */
+static int __init x86_noxsave_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);
+__setup("noxsave", x86_noxsave_setup);
-static int __init x86_xsaveopt_setup(char *s)
+/*
+ * Disable the XSAVEOPT instruction specifically:
+ */
+static int __init x86_noxsaveopt_setup(char *s)
{
setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT);
+
return 1;
}
-__setup("noxsaveopt", x86_xsaveopt_setup);
+__setup("noxsaveopt", x86_noxsaveopt_setup);
-static int __init x86_xsaves_setup(char *s)
+/*
+ * Disable the XSAVES instruction:
+ */
+static int __init x86_noxsaves_setup(char *s)
{
setup_clear_cpu_cap(X86_FEATURE_XSAVES);
+
return 1;
}
-__setup("noxsaves", x86_xsaves_setup);
+__setup("noxsaves", x86_noxsaves_setup);
-static int __init x86_fxsr_setup(char *s)
+/*
+ * Disable FX save/restore and SSE support:
+ */
+static int __init x86_nofxsr_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);
-
+__setup("nofxsr", x86_nofxsr_setup);