Changeset 2776

Show
Ignore:
Timestamp:
05/29/19 16:36:56 (4 months ago)
Author:
jwoithe
Message:

SConstruct: Support Hygon Dhyana x86 vendor id (HygonGenuine?).

Patch provided by Jinke Fan via ffado-devel mailing list (subject "[patch] :
Add support for Hygon Dhyana processor", 18 May 2019). Jinke Fan wrote:

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).

At present FFADO does not make use of hardware virtualisation, which is
the specific CPU feature addressed by this patch. Even so, the detection
and handling this new vendor ID is certainly worthwhile since it may prove
helpful in future.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/SConstruct

    r2770 r2776  
    610610                            ('970' in self.ppc_type or 'power8' in self.ppc_type.lower())) 
    611611 
    612         # Hardware virtualization capable: vmx (Intel), svm (AMD
     612        # Hardware virtualization capable: vmx (Intel), svm (AMD, Hygon
    613613        self.has_hwvirt = self.is_x86 and ( 
    614                             (self.is_amd and 'svm' in self.x86_flags) or 
     614                            ((self.is_amd or self.is_hygon) and  
     615                                'svm' in self.x86_flags) or 
    615616                            (self.is_intel and 'vmx' in self.x86_flags)) 
    616617 
     
    628629                    # parse all of them 
    629630                    continue 
    630             elif k == 'vendor_id': # AuthenticAMD, GenuineIntel 
     631            elif k == 'vendor_id': # AuthenticAMD, HygonGenuine, GenuineIntel 
    631632                self.vendor_id = v 
    632633                self.is_amd = v == 'AuthenticAMD' 
     634                self.is_hygon = v == 'HygonGenuine' 
    633635                self.is_intel = v == 'GenuineIntel' 
    634636            elif k == 'flags':