Re: [oprof-cvs] [PATCH] Add support for Hygon Dhyana CPU

Jinke Fan <[email protected]> Fri, 10 May 2019 17:19:29 +0800
Newsgroups gmane.linux.oprofile
Message-ID <[email protected]>
On 2019/5/9 21:41, William Cohen wrote:
> On 5/9/19 5:52 AM, Jinke Fan wrote:
>> Background:
>> Chengdu Haiguang IC Design Co., Ltd (Hygon) is a Joint Venture between
>> AMD and Haiguang Information Technology Co.,Ltd., aims at providing high
>> performance x86 processor for China server market. Its first generation
>> processor codename is Dhyana, which originates from AMD technology and
>> shares most of the architecture with AMD's family 17h, but with
>> different CPU Vendor ID("HygonGenuine")/Family series number(Family 18h).
>>
>> Related Hygon kernel patch can be found on
>> http://lkml.kernel.org/r/5ce86123a7b9dad925ac583d88d2f921040e859b.1538583282.git.puwen@hygon.cn
>>
>> Signed-off-by: fanjinke <[email protected]>
>> ---
> 
> Hi,
> 
> The patch looks reasonable and it has been merged into the upstream git repository.  Could make a patch for https://sourceforge.net/p/oprofile/oprofile-tests/ci/master/tree/ so the testsuite works for this processor?
> 
> Thanks again for the patch.
> 
> -Will Cohen
> 
Hi William,

Thank you very much for your reply.
Next, I will submit the profile-tests repository patch.
Thanks for your reminding.

Best regards!
Jinke Fan.
>>   libop/op_cpu_type.c         | 3 ++-
>>   libpe_utils/op_pe_utils.cpp | 4 +++-
>>   2 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/libop/op_cpu_type.c b/libop/op_cpu_type.c
>> index 1d601c6..3aab4a2 100644
>> --- a/libop/op_cpu_type.c
>> +++ b/libop/op_cpu_type.c
>> @@ -599,7 +599,8 @@ static op_cpu _get_x86_64_cpu_type(void)
>>
>>       if (cpuid_vendor("GenuineIntel")) {
>>           ret = _get_intel_cpu_type();
>> -    } else if (cpuid_vendor("AuthenticAMD")) {
>> +    } else if (cpuid_vendor("AuthenticAMD") ||
>> +           cpuid_vendor("HygonGenuine")) {
>>           ret = _get_amd_cpu_type();
>>       }
>>
>> diff --git a/libpe_utils/op_pe_utils.cpp b/libpe_utils/op_pe_utils.cpp
>> index d545cee..1ca4ce3 100644
>> --- a/libpe_utils/op_pe_utils.cpp
>> +++ b/libpe_utils/op_pe_utils.cpp
>> @@ -415,7 +415,9 @@ static void _get_event_code(operf_event_t * event, op_cpu cpu_type)
>>   #if defined(__i386__) || defined(__x86_64__)
>>       // Setup EventSelct[11:8] field for AMD
>>       const char * vendor_AMD = "AuthenticAMD";
>> -    if (op_is_cpu_vendor((char *)vendor_AMD)) {
>> +    const char * vendor_Hygon = "HygonGenuine";
>> +    if (op_is_cpu_vendor((char *)vendor_AMD) ||
>> +        op_is_cpu_vendor((char *)vendor_Hygon)) {
>>           config = base_code & 0xF00ULL;
>>           config = config << 32;
>>       }
> 



_______________________________________________
oprofile-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oprofile-list