x86, ptrace: regset extensions to support xstate
authorSuresh Siddha <suresh.b.siddha@intel.com>
Thu, 11 Feb 2010 19:50:59 +0000 (11:50 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 11 Feb 2010 23:08:17 +0000 (15:08 -0800)
commit5b3efd500854d45d305b53c54c97db5970959980
tree731629e22791d14b9661cada9c0c69eb38776c3b
parent676ad585531e965416fd958747894541dabcec96
x86, ptrace: regset extensions to support xstate

Add the xstate regset support which helps extend the kernel ptrace and the
core-dump interfaces to support AVX state etc.

This regset interface is designed to support all the future state that gets
supported using xsave/xrstor infrastructure.

Looking at the memory layout saved by "xsave", one can't say which state
is represented in the memory layout. This is because if a particular state is
in init state, in the xsave hdr it can be represented by bit '0'. And hence
we can't really say by the xsave header wether a state is in init state or
the state is not saved in the memory layout.

And hence the xsave memory layout available through this regset
interface uses SW usable bytes [464..511] to convey what state is represented
in the memory layout.

First 8 bytes of the sw_usable_bytes[464..467] will be set to OS enabled xstate
mask(which is same as the 64bit mask returned by the xgetbv's xCR0).

The note NT_X86_XSTATE represents the extended state information in the
core file, using the above mentioned memory layout.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <20100211195614.802495327@sbs-t61.sc.intel.com>
Signed-off-by: Hongjiu Lu <hjl.tools@gmail.com>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/include/asm/i387.h
arch/x86/include/asm/user.h
arch/x86/include/asm/xsave.h
arch/x86/kernel/i387.c
arch/x86/kernel/ptrace.c
arch/x86/kernel/xsave.c
include/linux/elf.h