aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorFenghua Yu <fenghua.yu@intel.com>2014-05-29 14:12:33 -0400
committerH. Peter Anvin <hpa@linux.intel.com>2014-05-29 17:31:10 -0400
commit0b29643a58439dc9a8b0c0cacad0e7cb608c8199 (patch)
treec5ac58a5d2d9b55eb6d6404b85befa6353ac681c /arch
parent5b3e83f46a2a7e8625258dbf84a26e7f4032bfa8 (diff)
x86/xsaves: Change compacted format xsave area header
The XSAVE area header is changed to support both compacted format and standard format of xsave area. The XSAVE header of an xsave area comprises the 64 bytes starting at offset 512 from the area base address: - Bytes 7:0 of the xsave header is a state-component bitmap called xstate_bv. It identifies the state components in the xsave area. - Bytes 15:8 of the xsave header is a state-component bitmap called xcomp_bv. It is used as follows: - xcomp_bv[63] indicates the format of the extended region of the xsave area. If it is clear, the standard format is used. If it is set, the compacted format is used. - xcomp_bv[62:0] indicate which features (starting at feature 2) have space allocated for them in the compacted format. - Bytes 63:16 of the xsave header are reserved. Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Link: http://lkml.kernel.org/r/1401387164-43416-6-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/processor.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
index a4ea02351f4d..2c8d3b8e7fcb 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -386,8 +386,8 @@ struct bndcsr_struct {
386 386
387struct xsave_hdr_struct { 387struct xsave_hdr_struct {
388 u64 xstate_bv; 388 u64 xstate_bv;
389 u64 reserved1[2]; 389 u64 xcomp_bv;
390 u64 reserved2[5]; 390 u64 reserved[6];
391} __attribute__((packed)); 391} __attribute__((packed));
392 392
393struct xsave_struct { 393struct xsave_struct {