[PATCH 00/11] Add support for Hygon's Dhyana Family 18h processor

From: Pu Wen
Date: Sat Jun 09 2018 - 09:27:52 EST


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., and aims at providing high performance x86 processor for China
server market.

The first generation Hygon's processor(Dhyana) originates from AMD
technology and shares most of the architecture with AMD's family 17h,
but with different CPU Vendor ID("HygonGenuine")/PCIE Device Vendor ID
(0x1D94)/Family series number(Family 18h).

To enable the support of Linux kernel to Hygon's CPU, we added a new
vendor type (X86_VENDOR_HYGON, with value of 9) in arch/x86/include/
asm/processor.h, and shared most of kernel support codes with AMD
family 17h.

These patches have been applied and tested successfully in Hygon's
Dhyana SoC silicon. Also tested on AMD's EPYC (Family 17h) processor
works fine and makes no harm to existing codes.

Thanks.

Pu Wen (11):
x86/cpu: Add support for Hygon's Dhyana Family 18h processor
x86/pci: Add support for Hygon's Dhyana Family 18h processor
x86/cpu/bug: Add support for Hygon's Dhyana Family 18h processor
x86/perf: Add support for Hygon's Dhyana Family 18h processor
x86/mce: Add support for Hygon's Dhyana Family 18h processor
x86/kvm: Add support for Hygon's Dhyana Family 18h processor
x86/xen: Add support for Hygon's Dhyana Family 18h processor
driver/acpi: Add support for Hygon's Dhyana Family 18h processor
driver/cpufreq: Add support for Hygon's Dhyana Family 18h processor
driver/edac: Add support for Hygon's Dhyana Family 18h processor
tools/cpupower: Add support for Hygon's Dhyana Family 18h processor

arch/x86/events/amd/core.c | 10 ++++++++
arch/x86/events/amd/uncore.c | 7 ++---
arch/x86/events/core.c | 1 +
arch/x86/include/asm/kvm_emulate.h | 4 +++
arch/x86/include/asm/nospec-branch.h | 4 +--
arch/x86/include/asm/processor.h | 3 ++-
arch/x86/include/asm/virtext.h | 5 ++--
arch/x86/kernel/alternative.c | 4 +++
arch/x86/kernel/amd_nb.c | 11 +++++++-
arch/x86/kernel/apic/apic.c | 13 ++++++++--
arch/x86/kernel/cpu/amd.c | 14 +++++++++-
arch/x86/kernel/cpu/bugs.c | 30 ++++++++++++----------
arch/x86/kernel/cpu/common.c | 1 +
arch/x86/kernel/cpu/intel_cacheinfo.c | 9 ++++---
arch/x86/kernel/cpu/mcheck/mce-severity.c | 3 ++-
arch/x86/kernel/cpu/mcheck/mce.c | 16 +++++++++---
arch/x86/kernel/cpu/mtrr/cleanup.c | 3 ++-
arch/x86/kernel/cpu/mtrr/generic.c | 3 ++-
arch/x86/kernel/cpu/mtrr/main.c | 2 +-
arch/x86/kernel/cpu/perfctr-watchdog.c | 2 ++
arch/x86/kernel/smpboot.c | 4 ++-
arch/x86/kvm/emulate.c | 8 +++++-
arch/x86/pci/amd_bus.c | 6 +++--
arch/x86/pci/irq.c | 1 +
arch/x86/xen/pmu.c | 12 ++++++---
drivers/acpi/acpi_pad.c | 1 +
drivers/acpi/processor_idle.c | 1 +
drivers/cpufreq/acpi-cpufreq.c | 5 +++-
drivers/cpufreq/amd_freq_sensitivity.c | 9 +++++--
drivers/edac/amd64_edac.c | 20 ++++++++++++++-
drivers/edac/amd64_edac.h | 4 +++
drivers/edac/mce_amd.c | 4 ++-
include/linux/pci_ids.h | 2 ++
tools/power/cpupower/utils/cpufreq-info.c | 6 +++--
tools/power/cpupower/utils/helpers/cpuid.c | 6 +++--
tools/power/cpupower/utils/helpers/helpers.h | 2 +-
.../cpupower/utils/idle_monitor/mperf_monitor.c | 3 ++-
37 files changed, 183 insertions(+), 56 deletions(-)

--
2.7.4