aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/fpu/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/fpu/init.c')
-rw-r--r--arch/x86/kernel/fpu/init.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c
index 7affb7e3d9a5..6abd83572b01 100644
--- a/arch/x86/kernel/fpu/init.c
+++ b/arch/x86/kernel/fpu/init.c
@@ -249,6 +249,10 @@ static void __init fpu__init_system_ctx_switch(void)
249 */ 249 */
250static void __init fpu__init_parse_early_param(void) 250static void __init fpu__init_parse_early_param(void)
251{ 251{
252 char arg[32];
253 char *argptr = arg;
254 int bit;
255
252 if (cmdline_find_option_bool(boot_command_line, "no387")) 256 if (cmdline_find_option_bool(boot_command_line, "no387"))
253 setup_clear_cpu_cap(X86_FEATURE_FPU); 257 setup_clear_cpu_cap(X86_FEATURE_FPU);
254 258
@@ -266,6 +270,13 @@ static void __init fpu__init_parse_early_param(void)
266 270
267 if (cmdline_find_option_bool(boot_command_line, "noxsaves")) 271 if (cmdline_find_option_bool(boot_command_line, "noxsaves"))
268 setup_clear_cpu_cap(X86_FEATURE_XSAVES); 272 setup_clear_cpu_cap(X86_FEATURE_XSAVES);
273
274 if (cmdline_find_option(boot_command_line, "clearcpuid", arg,
275 sizeof(arg)) &&
276 get_option(&argptr, &bit) &&
277 bit >= 0 &&
278 bit < NCAPINTS * 32)
279 setup_clear_cpu_cap(bit);
269} 280}
270 281
271/* 282/*