Commit e783e816 authored by Ingo Molnar's avatar Ingo Molnar

x86/fpu: Explain the AVX register layout in the xsave area

The previous explanation was rather cryptic.

Also transform "u32 [64]" to the more readable "u8[256]" form.

No change in implementation.
Reviewed-by: default avatarBorislav Petkov <bp@alien8.de>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 678eaf60
...@@ -78,9 +78,16 @@ struct i387_soft_struct { ...@@ -78,9 +78,16 @@ struct i387_soft_struct {
u32 entry_eip; u32 entry_eip;
}; };
/*
* There are 16x 256-bit AVX registers named YMM0-YMM15.
* The low 128 bits are aliased to the 16 SSE registers (XMM0-XMM15)
* and are stored in 'struct i387_fxsave_struct::xmm_space[]'.
*
* The high 128 bits are stored here:
* 16x 128 bits == 256 bytes.
*/
struct ymmh_struct { struct ymmh_struct {
/* 16 * 16 bytes for each YMMH-reg = 256 bytes */ u8 ymmh_space[256];
u32 ymmh_space[64];
}; };
/* We don't support LWP yet: */ /* We don't support LWP yet: */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment