On 05/05/2015 10:58 AM, Ingo Molnar wrote: > +/* > + * This is our most modern FPU state format, as saved by the XSAVE > + * and restored by the XRSTOR instructions. > + * > + * It consists of a legacy fxregs portion, an xstate header and > + * subsequent fixed size areas as defined by the xstate header. > + * Not all CPUs support all the extensions. > + */ > struct xregs_state { > struct fxregs_state i387; > struct xstate_header header; > @@ -150,6 +169,13 @@ struct xregs_state { > /* New processor state extensions will go here. */ > } __attribute__ ((packed, aligned (64)));
Fenghua has a "fix" for this, but I think this misses a pretty big point. This structure includes only the "legacy" state, followed by the header. The remainder of the layout here is enumerated in CPUID leaves and can not be laid out in a structure because we do not know what it looks like until we run CPUID. There is logically a variable length array at the end of this sucker. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/