Re: [PATCH 11/16] x86/cpu: Print VMX features as separate line item in /proc/cpuinfo

From: Paolo Bonzini
Date: Wed Oct 09 2019 - 17:13:54 EST


On 09/10/19 21:16, Sean Christopherson wrote:
> On Tue, Oct 08, 2019 at 08:57:30AM +0200, Paolo Bonzini wrote:
>> On 07/10/19 21:56, Sean Christopherson wrote:
>>> On Mon, Oct 07, 2019 at 07:12:37PM +0200, Paolo Bonzini wrote:
>>>> On 04/10/19 23:56, Sean Christopherson wrote:
>>>>> diff --git a/arch/x86/kernel/cpu/proc.c b/arch/x86/kernel/cpu/proc.c
>>>>> index cb2e49810d68..4eec8889b0ff 100644
>>>>> --- a/arch/x86/kernel/cpu/proc.c
>>>>> +++ b/arch/x86/kernel/cpu/proc.c
>>>>> @@ -7,6 +7,10 @@
>>>>>
>>>>> #include "cpu.h"
>>>>>
>>>>> +#ifdef CONFIG_X86_VMX_FEATURE_NAMES
>>>>> +extern const char * const x86_vmx_flags[NVMXINTS*32];
>>>>> +#endif
>>>>> +
>>>>> /*
>>>>> * Get CPU information for use by the procfs.
>>>>> */
>>>>> @@ -102,6 +106,17 @@ static int show_cpuinfo(struct seq_file *m, void *v)
>>>>> if (cpu_has(c, i) && x86_cap_flags[i] != NULL)
>>>>> seq_printf(m, " %s", x86_cap_flags[i]);
>>>>
>>>> I'm afraid this is going to break some scripts in the wild. I would
>>>> simply remove the seq_puts below.
>>>
>>> Can you elaborate? I'm having trouble connecting the dots...
>>
>> Somebody is bound to have scripts doing "grep ^flags.*ept /proc/cpuinfo"
>> or checking for VMX flags under some kind of "if (/^flags/)", so it's
>> safer not to separate VMX and non-VMX flags.
>
> Are the names of the flags considered ABI? If so, then the rename of
> "vnmi" to "virtual_nmis" also needs to be dropped. :-(

Yes, they are. :/

Paolo