On 28/12/2018 15:14, Roger Pau Monné wrote:
> On Fri, Dec 28, 2018 at 12:39:31PM +0000, Andrew Cooper wrote:
>> This reduces the complexity of init_amd(), and collects related
>> workarounds together.
>>
>> It also offers us the opportunity to stop performing workarounds when
>> virtualised - doing so is wasteful, as it all involves poking MSRs which
>> no hypervisor will let us touch in practice.
>>
>> As amd.c has diverged almost entirely from its Linux heratage, start
>> switching it to using Xen hypervisor style.
>>
>> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
>> ---
>> CC: Jan Beulich <jbeul...@suse.com>
>> CC: Wei Liu <wei.l...@citrix.com>
>> CC: Roger Pau Monné <roger....@citrix.com>
>>
>> I've dropped various printk()s about working around some errata, because
>> their use was completely inconsistent.  They want to be uniform, whether
>> that is missing or present.
>> ---
>>  xen/arch/x86/cpu/amd.c | 266 
>> ++++++++++++++++++++++++++++---------------------
>>  1 file changed, 153 insertions(+), 113 deletions(-)
>>
>> diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
>> index c790416..c3aa1f4 100644
>> --- a/xen/arch/x86/cpu/amd.c
>> +++ b/xen/arch/x86/cpu/amd.c
>> @@ -534,22 +534,165 @@ static void early_init_amd(struct cpuinfo_x86 *c)
>>      ctxt_switch_levelling(NULL);
>>  }
>>  
>> +static void init_amd_k8(struct cpuinfo_x86 *c)
>> +{
>> +    uint64_t val;
>> +
>> +    /*
>> +     * Skip errata workarounds if we are virtualised.  We won't have
>> +     * sufficient control of hardware to do anything useful.
>> +     */
>> +    if ( !cpu_has_hypervisor )
> I think you want `if ( cpu_has_hypervisor ) return;` according to the
> comment (here and below).

/sigh - I spent ages double checking that I'd got that the right way
round...

Will fix in v2.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to