aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/fpu/types.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-04-24 11:43:47 +0200
committerIngo Molnar <mingo@kernel.org>2015-05-19 15:47:35 +0200
commite783e8167ddf275782ef448eb139fafff3ac3af2 (patch)
treeae7a0f76b5dccf2f9f788bcdd7771dc1018f2a10 /arch/x86/include/asm/fpu/types.h
parentx86/fpu: Rename regset FPU register accessors (diff)
downloadlinux-dev-e783e8167ddf275782ef448eb139fafff3ac3af2.tar.xz
linux-dev-e783e8167ddf275782ef448eb139fafff3ac3af2.zip
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: Borislav 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: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/fpu/types.h')
-rw-r--r--arch/x86/include/asm/fpu/types.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/include/asm/fpu/types.h b/arch/x86/include/asm/fpu/types.h
index 9bd2cd1a19fd..8a5120a3b48b 100644
--- a/arch/x86/include/asm/fpu/types.h
+++ b/arch/x86/include/asm/fpu/types.h
@@ -78,9 +78,16 @@ struct i387_soft_struct {
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 {
- /* 16 * 16 bytes for each YMMH-reg = 256 bytes */
- u32 ymmh_space[64];
+ u8 ymmh_space[256];
};
/* We don't support LWP yet: */