Skip to content
  • Konstantin Belousov's avatar
    Add support for Hygon Dhyana Family 18h processor. · 2ee49fac
    Konstantin Belousov authored
    As a new x86 CPU vendor, Chengdu Haiguang IC Design Co., Ltd (Hygon)
    is a joint venture between AMD and Haiguang Information Technology Co.,
    Ltd., aims at providing x86 processors for China server market.
    
    The first generation Hygon processor(Dhyana) shares most architecture
    with AMD's family 17h, but with different CPU vendor ID("HygonGenuine")
    and PCI vendor ID(0x1d94) and family series number 18h(Hygon negotiated
    with AMD to confirm that only Hygon use family 18h).
    
    To enable Hygon Dhyana support in FreeBSD, add new definitions
    HYGON_VENDOR_ID("HygonGenuine") and X86_VENDOR_HYGON(0x1d94) to identify
    Hygon Dhyana CPU.
    
    Initialize the CPU features(topology, local APIC ext, MSI, TSC, hwpstate,
    MCA, DEBUG_CTL, etc) for amd64 and i386 mode by sharing the code path of
    AMD family 17h.
    
    The changes have been applied on FreeBSD 13.0-CURRENT and tested
    successfully on Hygon Dhyana processor.
    
    References:
    [1] Linux kernel patches for Hygon Dhyana, merged in 4.20:
    
    https://git.kernel.org/tip/c9661c1e80b609cd038db7c908e061f0535804ef
    
    [2] MSR and CPUID definition:
    
    https://www.amd.com/system/files/TechDocs/54945_PPR_Family_17h_Models_00h-0Fh.pdf
    
    Submitted by:	Pu Wen <puwen@hygon.cn>
    MFC after:	1 week
    Differential revision:	https://reviews.freebsd.org/D23163
    2ee49fac