On 25/02/2019 17:01, Jan Beulich wrote:
On 25.02.19 at 16:03, wrote:
>> --- a/xen/arch/x86/cpu/common.c
>> +++ b/xen/arch/x86/cpu/common.c
>> @@ -414,6 +414,10 @@ static void generic_identify(struct cpuinfo_x86 *c)
>>
>> &c->x86_capability[cpufeat_word(X86_FEATURE_FS
>>> On 25.02.19 at 16:03, wrote:
> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -414,6 +414,10 @@ static void generic_identify(struct cpuinfo_x86 *c)
>
> &c->x86_capability[cpufeat_word(X86_FEATURE_FSGSBASE)],
> &c->x86
The logic in xstate_init() is a rementent of the pre-featuremask days.
Collect the xstate features in generic_identify(), like all other feature
leaves, after which identify_cpu() will apply the known_feature[] mask derived
from the automatically generated CPUID information.
Signed-off-by: Andrew