Messages in this thread Patch in this message | | | Date | Mon, 12 Jan 2015 16:38:34 -0500 | From | Rik van Riel <> | Subject | Re: [RFC PATCH 01/11] x86,fpu: document the data structures a little |
| |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 01/12/2015 04:18 PM, Borislav Petkov wrote: > On Sun, Jan 11, 2015 at 04:46:23PM -0500, riel@redhat.com wrote:
>> +++ b/arch/x86/include/asm/processor.h @@ -400,6 +400,11 @@ >> struct xsave_struct { /* new processor state extensions will go >> here */ } __attribute__ ((packed, aligned (64))); >> >> +/* + * The FPU state used depends on the capabilities of the >> hardware; the + * registers used for vector instructions on newer >> hardware are included + * in the FPU state. + */ union >> thread_xstate { struct i387_fsave_struct fsave; struct >> i387_fxsave_struct fxsave; @@ -408,8 +413,8 @@ union >> thread_xstate { }; >> >> struct fpu { - unsigned int last_cpu; - unsigned int has_fpu; + >> unsigned int last_cpu; /* FPU state last loaded on this CPU */ > > Isn't that the last CPU which had the FPU?
Indeed it is. Good catch. I will fix it.
>> + unsigned int has_fpu; /* FPU state in current use on CPU */ > > I understand ->has_fpu as this thread has the FPU. See comment > over user_has_fpu().
It does that currently, but the patch to __kernel_fpu_start() changes it so it can point to a kernel FPU state as well.
- -- All rights reversed -----BEGIN PGP SIGNATURE----- Version: GnuPG v1
iQEcBAEBAgAGBQJUtD7aAAoJEM553pKExN6D1TYH/34+5t9h+UxeVgqCxIAZuvAN PY8r5PJMOdJb4hwbsbXfipA4oufRTXT3UrFYDUD2ASiJUv+P69FtXJgJRak0khJV ZfOSXjnGA0WuTIWkTdXfl6H0RKxJd51Yc/EMgJL/kvnOucWBNjOPJnsWkQXrAan5 QJyM6WASFsUTjqAW3vzsKZwUmo/FnVh/FK/7pTVTqgZCI+j0WvitnGhD2J1A2Tvc jlF2llmKQ/QxknW/HylurPAD4C68pw1AU08JcYtDmrRJGfweID/w5z+X3hd9xhjm sEMjIKMTyrelj1K800uq0LXLw9gP7Vv7gNu6tMMWsle5wCTB0MrMH6/Qz3E/7Mk= =5cE/ -----END PGP SIGNATURE-----
| |