diff options
author | Fenghua Yu <fenghua.yu@intel.com> | 2012-11-13 14:32:50 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2012-11-14 18:28:11 -0500 |
commit | 6f5298c2139b06925037490367906f3d73955b86 (patch) | |
tree | 54d85359db7189c0bad2e3d0ac72a9b2f63e87fd | |
parent | 8d966a04107e56993a051cd41ead0b4f23ba2414 (diff) |
x86/i387.c: Initialize thread xstate only on CPU0 only once
init_thread_xstate() is only called once to avoid overriding xstate_size during
boot time or during CPU hotplug.
Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Link: http://lkml.kernel.org/r/1352835171-3958-14-git-send-email-fenghua.yu@intel.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
-rw-r--r-- | arch/x86/kernel/i387.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c index 675a05012449..245a71db401a 100644 --- a/arch/x86/kernel/i387.c +++ b/arch/x86/kernel/i387.c | |||
@@ -175,7 +175,11 @@ void __cpuinit fpu_init(void) | |||
175 | cr0 |= X86_CR0_EM; | 175 | cr0 |= X86_CR0_EM; |
176 | write_cr0(cr0); | 176 | write_cr0(cr0); |
177 | 177 | ||
178 | if (!smp_processor_id()) | 178 | /* |
179 | * init_thread_xstate is only called once to avoid overriding | ||
180 | * xstate_size during boot time or during CPU hotplug. | ||
181 | */ | ||
182 | if (xstate_size == 0) | ||
179 | init_thread_xstate(); | 183 | init_thread_xstate(); |
180 | 184 | ||
181 | mxcsr_feature_mask_init(); | 185 | mxcsr_feature_mask_init(); |