Re: [RFC PATCH 4/6] x86/fpu: Fix "x86/fpu: Legacy x87 FPU detected" message

From: Andy Lutomirski
Date: Tue Dec 06 2016 - 13:00:22 EST


On Tue, Dec 6, 2016 at 1:24 AM, Borislav Petkov <bp@xxxxxxxxx> wrote:
> On Mon, Dec 05, 2016 at 05:01:13PM -0800, Andy Lutomirski wrote:
>> That message isn't at all clear -- what does "Legacy x87" even
>> mean?
>>
>> Clarify it. If there's no FPU, say "x86/fpu: No FPU detected". If
>> there's an FPU that doesn't have XSAVE, say "x86/fpu: Pre-XSAVE x87
>> FPU detected".
>>
>> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
>> ---
>> arch/x86/kernel/fpu/xstate.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c
>> index 1d7770447b3e..2d592b1c75e4 100644
>> --- a/arch/x86/kernel/fpu/xstate.c
>> +++ b/arch/x86/kernel/fpu/xstate.c
>> @@ -705,8 +705,13 @@ void __init fpu__init_system_xstate(void)
>> WARN_ON_FPU(!on_boot_cpu);
>> on_boot_cpu = 0;
>>
>> + if (!boot_cpu_has(X86_FEATURE_FPU)) {
>> + pr_info("x86/fpu: No FPU detected.\n");
>> + return;
>> + }
>> +
>> if (!boot_cpu_has(X86_FEATURE_XSAVE)) {
>> - pr_info("x86/fpu: Legacy x87 FPU detected.\n");
>> + pr_info("x86/fpu: Pre-XSAVE x87 FPU detected.\n");
>
> Well, there's also FXSAVE and FSAVE. The legacy thing kinda made sense
> to me here.
>
> Maybe say something like this:
>
> pr_info("x86/fpu: FPU detected: FSAVE|FXSAVE|XSAVE support\n", ...
>
> and use X86_FEATURE_XSAVE and X86_FEATURE_FXSR to print the respective
> *SAVE string...? FSAVE we issue by default.

I did something like this for FSAVE vs FXSAVE. XSAVE has its own pile
of printouts and I don't feel like I need to add another.

>
> Hmm.
>
> --
> Regards/Gruss,
> Boris.
>
> Good mailing practices for 400: avoid top-posting and trim the reply.



--
Andy Lutomirski
AMA Capital Management, LLC