Re: [RFC PATCH 01/11] x86,fpu: document the data structures a little

Borislav Petkov
2015-01-12T21:18:10Z

On Sun, Jan 11, 2015 at 04:46:23PM -0500, riel@redhat.com wrote:
> From: Rik van Riel <riel@redhat.com>
>
> Add some documentation to data structures used for FPU context
> switching.
>
> Signed-off-by: Rik van Riel <riel@redhat.com>
> ---
> arch/x86/include/asm/processor.h | 9 +++++++--
> arch/x86/kernel/cpu/common.c | 1 +
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
> index a092a0c..17bd8a0 100644
> --- a/arch/x86/include/asm/processor.h
> +++ 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?

> + 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().

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--