Re: [PATCH v3 13/17] x86/xen: enable Hygon support to Xen

From: Boris Ostrovsky
Date: Fri Aug 17 2018 - 00:38:00 EST


On 08/16/2018 09:29 AM, Pu Wen wrote:
> On 2018/8/12 21:26, Boris Ostrovsky wrote:
>> On 08/12/2018 04:55 AM, Juergen Gross wrote:
>>> On 11/08/18 16:34, Boris Ostrovsky wrote:
>>>> On 08/11/2018 09:29 AM, Pu Wen wrote:
>>>>> Â bool pmu_msr_read(unsigned int msr, uint64_t *val, int *err)
>>>>> Â {
>>>>> -ÂÂÂ if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) {
>>>>> +ÂÂÂ if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
>>>>> +ÂÂÂÂÂÂÂ boot_cpu_data.x86_vendor == X86_VENDOR_HYGON) {
>>>>
>>>> 'if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)' please.
>>> Really? Xen supports Centaur, too.
>>
>> VPMU doesn't --- hypervisor will not initialize it. Besides, the
>> existing code will steer non-AMD execution to Intel, which is not right
>> either.
>>
>> I'll add a check to bail if VPMU is not initialized properly, we seem to
>> ignore xen_pmu_init() failures. Which, BTW, makes this patch rather
>> pointless until there is support for Hygon Xen.
>
> So should it still need to test vendor Hygon here or wait for your check
> done?


I'd prefer checking for !Intel, as I suggested above. Centaur will fail
either way, but because we use safe versions of MSR access I now think
we don't need any extra checks for xen_pmu_init() result.

-boris