diff options
Diffstat (limited to 'arch/x86/kernel/xsave.c')
-rw-r--r-- | arch/x86/kernel/xsave.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c index ab9ad48b6530..550bf45236f4 100644 --- a/arch/x86/kernel/xsave.c +++ b/arch/x86/kernel/xsave.c | |||
@@ -362,9 +362,6 @@ unsigned int sig_xstate_size = sizeof(struct _fpstate); | |||
362 | */ | 362 | */ |
363 | static void __cpuinit __xsave_init(void) | 363 | static void __cpuinit __xsave_init(void) |
364 | { | 364 | { |
365 | if (!cpu_has_xsave) | ||
366 | return; | ||
367 | |||
368 | set_in_cr4(X86_CR4_OSXSAVE); | 365 | set_in_cr4(X86_CR4_OSXSAVE); |
369 | 366 | ||
370 | /* | 367 | /* |
@@ -429,7 +426,7 @@ static void __init setup_xstate_init(void) | |||
429 | /* | 426 | /* |
430 | * Enable and initialize the xsave feature. | 427 | * Enable and initialize the xsave feature. |
431 | */ | 428 | */ |
432 | void __ref xsave_cntxt_init(void) | 429 | static void __cpuinit xsave_cntxt_init(void) |
433 | { | 430 | { |
434 | unsigned int eax, ebx, ecx, edx; | 431 | unsigned int eax, ebx, ecx, edx; |
435 | 432 | ||
@@ -466,10 +463,13 @@ void __ref xsave_cntxt_init(void) | |||
466 | 463 | ||
467 | void __cpuinit xsave_init(void) | 464 | void __cpuinit xsave_init(void) |
468 | { | 465 | { |
466 | if (!cpu_has_xsave) | ||
467 | return; | ||
468 | |||
469 | /* | 469 | /* |
470 | * Boot processor to setup the FP and extended state context info. | 470 | * Boot processor to setup the FP and extended state context info. |
471 | */ | 471 | */ |
472 | if (!smp_processor_id()) | 472 | if (!smp_processor_id()) |
473 | init_thread_xstate(); | 473 | xsave_cntxt_init(); |
474 | __xsave_init(); | 474 | __xsave_init(); |
475 | } | 475 | } |