diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2008-07-29 13:29:19 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-30 13:49:24 -0400 |
commit | dc1e35c6e95e8923cf1d3510438b63c600fee1e2 (patch) | |
tree | 4348f51f1bfdd124efd6d16dcc552bd4a148fdfb /include/asm-x86/processor.h | |
parent | a648bf4632628c787abb0514277f2a231fca39ca (diff) |
x86, xsave: enable xsave/xrstor on cpus with xsave support
Enables xsave/xrstor by turning on cr4.osxsave on cpu's which have
the xsave support. For now, features that OS supports/enabled are
FP and SSE.
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/processor.h')
-rw-r--r-- | include/asm-x86/processor.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h index d60b4d81febe..d7c0221c0278 100644 --- a/include/asm-x86/processor.h +++ b/include/asm-x86/processor.h | |||
@@ -346,6 +346,18 @@ struct i387_soft_struct { | |||
346 | u32 entry_eip; | 346 | u32 entry_eip; |
347 | }; | 347 | }; |
348 | 348 | ||
349 | struct xsave_hdr_struct { | ||
350 | u64 xstate_bv; | ||
351 | u64 reserved1[2]; | ||
352 | u64 reserved2[5]; | ||
353 | } __attribute__((packed)); | ||
354 | |||
355 | struct xsave_struct { | ||
356 | struct i387_fxsave_struct i387; | ||
357 | struct xsave_hdr_struct xsave_hdr; | ||
358 | /* new processor state extensions will go here */ | ||
359 | } __attribute__ ((packed, aligned (64))); | ||
360 | |||
349 | union thread_xstate { | 361 | union thread_xstate { |
350 | struct i387_fsave_struct fsave; | 362 | struct i387_fsave_struct fsave; |
351 | struct i387_fxsave_struct fxsave; | 363 | struct i387_fxsave_struct fxsave; |