On 22/12/15 16:46, Jan Beulich wrote:
>>>> On 16.12.15 at 22:24, <andrew.coop...@citrix.com> wrote:
>> --- a/xen/arch/x86/cpu/amd.c
>> +++ b/xen/arch/x86/cpu/amd.c
>> @@ -481,7 +481,7 @@ static void __devinit init_amd(struct cpuinfo_x86 *c)
>>  
>>      if (c->extended_cpuid_level >= 0x80000007) {
>>              c->x86_power = cpuid_edx(0x80000007);
>> -            if (c->x86_power & (1<<8)) {
>> +            if (c->x86_power & cpufeat_mask(X86_FEATURE_ITSC)) {
> generic_identify() has already run by the time we get here, so no
> need to re-read cpuid_edx() (interestingly enough you leverage
> this in init_intel()).

I didn't change either in this regard (observe that it is just in
context), although it is now obvious that x86_power can be dropped
completely, given that isn't used anywhere else.

andrewcoop@andrewcoop:/local/xen.git/xen$ git grep x86_power
arch/x86/cpu/amd.c:541:         c->x86_power = cpuid_edx(0x80000007);
arch/x86/cpu/amd.c:542:         if (c->x86_power &
cpufeat_mask(X86_FEATURE_ITSC)) {
include/asm-x86/processor.h:194:    int  x86_power;


>
>> --- a/xen/arch/x86/cpuid/cpuid.c
>> +++ b/xen/arch/x86/cpuid/cpuid.c
>> @@ -103,6 +103,12 @@ const uint32_t 
>> known_features[XEN_NR_FEATURESET_ENTRIES] =
>>                                              
>> cpufeat_mask(X86_FEATURE_RDSEED)     |
>>                                              cpufeat_mask(X86_FEATURE_ADX)   
>>      |
>>                                              cpufeat_mask(X86_FEATURE_SMAP)),
>> +
>> +    [cpufeat_word(X86_FEATURE_PREFETCHWT1)] = 
>> (cpufeat_mask(X86_FEATURE_PREFETCHWT1)),
>> +
>> +    [cpufeat_word(X86_FEATURE_ITSC)] = (cpufeat_mask(X86_FEATURE_ITSC)),
>> +
>> +    [cpufeat_word(X86_FEATURE_CLZERO)] = (cpufeat_mask(X86_FEATURE_CLZERO)),
>>  };
> Are these indeed the only ones in their groups that can be safely
> marked "known"?

I am going to go out on a limb and say yes here.  The point of "known"
is "someone has actively thought about what the hyperivsor implications
of using this feature is".  These are the only ones which I feel safe
declaring to be such at the time of writing.

Rebasing onto staging has introduced the PKU bits, which are adjacent to
PREFETCHWT1, and altered this patch quite a lot.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to