diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-09-05 09:18:39 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-05 09:18:39 +0200 |
commit | accf0fa697eeb5ff4c2360edc4da5b10abac0b7b (patch) | |
tree | a57dc9aa4a6b83be8ac8b4528cf06db5621e62aa /include/asm-x86/processor.h | |
parent | ebd60cd64f8ab1170102c3ab072eb73042b7a33d (diff) | |
parent | fe47784ba5cbb6b713c013e046859946789b45e4 (diff) |
Merge branch 'x86/xsave' into x86/core
Diffstat (limited to 'include/asm-x86/processor.h')
-rw-r--r-- | include/asm-x86/processor.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h index 10471cfab14..df03c98e38d 100644 --- a/include/asm-x86/processor.h +++ b/include/asm-x86/processor.h @@ -326,7 +326,12 @@ struct i387_fxsave_struct { /* 16*16 bytes for each XMM-reg = 256 bytes: */ u32 xmm_space[64]; - u32 padding[24]; + u32 padding[12]; + + union { + u32 padding1[12]; + u32 sw_reserved[12]; + }; } __attribute__((aligned(16))); @@ -350,10 +355,23 @@ struct i387_soft_struct { u32 entry_eip; }; +struct xsave_hdr_struct { + u64 xstate_bv; + u64 reserved1[2]; + u64 reserved2[5]; +} __attribute__((packed)); + +struct xsave_struct { + struct i387_fxsave_struct i387; + struct xsave_hdr_struct xsave_hdr; + /* new processor state extensions will go here */ +} __attribute__ ((packed, aligned (64))); + union thread_xstate { struct i387_fsave_struct fsave; struct i387_fxsave_struct fxsave; struct i387_soft_struct soft; + struct xsave_struct xsave; }; #ifdef CONFIG_X86_64 |