aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu
diff options
context:
space:
mode:
authorRobert Richter <robert.richter@amd.com>2010-07-21 13:03:52 -0400
committerH. Peter Anvin <hpa@linux.intel.com>2010-07-21 17:06:04 -0400
commit0e49bf66d2ca649b167428adddbbbe9d9bd4894c (patch)
tree741f170dbb160ece127b2ab497f9fc9d1e3bd1bc /arch/x86/kernel/cpu
parent82d4150cec83b9775f84810b39a1c0b91585d429 (diff)
x86, xsave: Separate fpu and xsave initialization
As xsave also supports other than fpu features, it should be initialized independently of the fpu. This patch moves this out of fpu initialization. There is also a lot of cross referencing between fpu and xsave code. This patch reduces this by making xsave_cntxt_init() and init_thread_xstate() static functions. The patch moves the cpu_has_xsave check at the beginning of xsave_init(). All other checks may removed then. Signed-off-by: Robert Richter <robert.richter@amd.com> LKML-Reference: <1279731838-1522-2-git-send-email-robert.richter@amd.com> Acked-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/cpu')
-rw-r--r--arch/x86/kernel/cpu/common.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 40561085d4f3..94c36c7ac183 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -1210,6 +1210,7 @@ void __cpuinit cpu_init(void)
1210 dbg_restore_debug_regs(); 1210 dbg_restore_debug_regs();
1211 1211
1212 fpu_init(); 1212 fpu_init();
1213 xsave_init();
1213 1214
1214 raw_local_save_flags(kernel_eflags); 1215 raw_local_save_flags(kernel_eflags);
1215 1216
@@ -1270,6 +1271,7 @@ void __cpuinit cpu_init(void)
1270 clear_used_math(); 1271 clear_used_math();
1271 mxcsr_feature_mask_init(); 1272 mxcsr_feature_mask_init();
1272 1273
1274 fpu_init();
1273 xsave_init(); 1275 xsave_init();
1274} 1276}
1275#endif 1277#endif