From: Pu Wen <puwen@hygon.cn>
To: tglx@linutronix.de, bp@alien8.de, thomas.lendacky@amd.com,
mingo@redhat.com, hpa@zytor.com, peterz@infradead.org,
tony.luck@intel.com, pbonzini@redhat.com, rkrcmar@redhat.com,
boris.ostrovsky@oracle.com, jgross@suse.com, rjw@rjwysocki.net,
lenb@kernel.org, viresh.kumar@linaro.org, mchehab@kernel.org,
trenn@suse.com, shuah@kernel.org, JBeulich@suse.com,
x86@kernel.org
Cc: linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Subject: [PATCH v2 00/17] Add support for Hygon Dhyana Family 18h processor
Date: Mon, 23 Jul 2018 21:20:20 +0800 [thread overview]
Message-ID: <1532352037-7151-1-git-send-email-puwen@hygon.cn> (raw)
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.
This patch series 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.
v1->v2:
- Rebased on 4.18-rc6 and tested against it.
- Split the patchset to small series of patches.
- Rework patch descriptions.
- Create a separated arch/x86/kernel/cpu/hygon.c for Dhyana CPU
initialization to reduce long-term maintenance effort.
Pu Wen (17):
x86/cpu: create Dhyana init file and register new cpu_dev to system
x86/cache: get Dhyana cache size/leaves and setup cache cpumap
x86/mtrr: get MTRR number and support TOP_MEM2
x86/smpboot: smp init nodelay and no flush caches before sleep
x86/perfctr: return perf counter and event selection bit offset
x86/nops: init ideal_nops for Hygon
x86/pci: add Hygon PCI vendor and northbridge support
x86/apic: add modern APIC support for Hygon
x86/bugs: add lfence mitigation to spectre v2 and no meltdown for
Hygon
x86/events: enable Hygon support to PMU infrastructure
x86/mce: enable Hygon support to MCE infrastructure
x86/kvm: enable Hygon support to KVM infrastructure
x86/xen: enable Hygon support to Xen
driver/acpi: enable Hygon support to ACPI driver
driver/cpufreq: enable Hygon support to cpufreq driver
driver/edac: enable Hygon support to AMD64 EDAC driver
tools/cpupower: enable Hygon support to cpupower tool
MAINTAINERS | 6 +
arch/x86/Kconfig | 2 +-
arch/x86/Kconfig.cpu | 13 +
arch/x86/events/amd/core.c | 4 +
arch/x86/events/amd/uncore.c | 12 +-
arch/x86/events/core.c | 4 +
arch/x86/include/asm/cacheinfo.h | 1 +
arch/x86/include/asm/kvm_emulate.h | 4 +
arch/x86/include/asm/mce.h | 5 +
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 | 54 ++-
arch/x86/kernel/apic/apic.c | 13 +-
arch/x86/kernel/cpu/Makefile | 1 +
arch/x86/kernel/cpu/bugs.c | 28 +-
arch/x86/kernel/cpu/cacheinfo.c | 31 +-
arch/x86/kernel/cpu/common.c | 1 +
arch/x86/kernel/cpu/cpu.h | 1 +
arch/x86/kernel/cpu/hygon.c | 404 +++++++++++++++++++++
arch/x86/kernel/cpu/mcheck/mce-severity.c | 3 +-
arch/x86/kernel/cpu/mcheck/mce.c | 20 +-
arch/x86/kernel/cpu/mtrr/cleanup.c | 3 +-
arch/x86/kernel/cpu/mtrr/generic.c | 3 +-
arch/x86/kernel/cpu/mtrr/mtrr.c | 2 +-
arch/x86/kernel/cpu/perfctr-watchdog.c | 8 +
arch/x86/kernel/smpboot.c | 4 +-
arch/x86/kvm/emulate.c | 11 +-
arch/x86/pci/amd_bus.c | 6 +-
arch/x86/xen/pmu.c | 12 +-
drivers/acpi/acpi_pad.c | 1 +
drivers/acpi/processor_idle.c | 1 +
drivers/cpufreq/acpi-cpufreq.c | 11 +
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/amd.c | 2 +-
tools/power/cpupower/utils/helpers/cpuid.c | 8 +-
tools/power/cpupower/utils/helpers/helpers.h | 2 +-
tools/power/cpupower/utils/helpers/misc.c | 2 +-
.../cpupower/utils/idle_monitor/mperf_monitor.c | 3 +-
45 files changed, 682 insertions(+), 65 deletions(-)
create mode 100644 arch/x86/kernel/cpu/hygon.c
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: Pu Wen <puwen@hygon.cn>
To: tglx@linutronix.de, bp@alien8.de, thomas.lendacky@amd.com,
mingo@redhat.com, hpa@zytor.com, peterz@infradead.org,
tony.luck@intel.com, pbonzini@redhat.com, rkrcmar@redhat.com,
boris.ostrovsky@oracle.com, jgross@suse.com, rjw@rjwysocki.net,
lenb@kernel.org, viresh.kumar@linaro.org, mchehab@kernel.org,
trenn@suse.com, shuah@kernel.org, JBeulich@suse.com,
x86@kernel.org
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
kvm@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: [PATCH v2 00/17] Add support for Hygon Dhyana Family 18h processor
Date: Mon, 23 Jul 2018 21:20:20 +0800 [thread overview]
Message-ID: <1532352037-7151-1-git-send-email-puwen@hygon.cn> (raw)
Message-ID: <20180723132020.DvAEESFyTZVS89TzTLcXUH5IyHTz3QgiprFgYj1HBbU@z> (raw)
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.
This patch series 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.
v1->v2:
- Rebased on 4.18-rc6 and tested against it.
- Split the patchset to small series of patches.
- Rework patch descriptions.
- Create a separated arch/x86/kernel/cpu/hygon.c for Dhyana CPU
initialization to reduce long-term maintenance effort.
Pu Wen (17):
x86/cpu: create Dhyana init file and register new cpu_dev to system
x86/cache: get Dhyana cache size/leaves and setup cache cpumap
x86/mtrr: get MTRR number and support TOP_MEM2
x86/smpboot: smp init nodelay and no flush caches before sleep
x86/perfctr: return perf counter and event selection bit offset
x86/nops: init ideal_nops for Hygon
x86/pci: add Hygon PCI vendor and northbridge support
x86/apic: add modern APIC support for Hygon
x86/bugs: add lfence mitigation to spectre v2 and no meltdown for
Hygon
x86/events: enable Hygon support to PMU infrastructure
x86/mce: enable Hygon support to MCE infrastructure
x86/kvm: enable Hygon support to KVM infrastructure
x86/xen: enable Hygon support to Xen
driver/acpi: enable Hygon support to ACPI driver
driver/cpufreq: enable Hygon support to cpufreq driver
driver/edac: enable Hygon support to AMD64 EDAC driver
tools/cpupower: enable Hygon support to cpupower tool
MAINTAINERS | 6 +
arch/x86/Kconfig | 2 +-
arch/x86/Kconfig.cpu | 13 +
arch/x86/events/amd/core.c | 4 +
arch/x86/events/amd/uncore.c | 12 +-
arch/x86/events/core.c | 4 +
arch/x86/include/asm/cacheinfo.h | 1 +
arch/x86/include/asm/kvm_emulate.h | 4 +
arch/x86/include/asm/mce.h | 5 +
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 | 54 ++-
arch/x86/kernel/apic/apic.c | 13 +-
arch/x86/kernel/cpu/Makefile | 1 +
arch/x86/kernel/cpu/bugs.c | 28 +-
arch/x86/kernel/cpu/cacheinfo.c | 31 +-
arch/x86/kernel/cpu/common.c | 1 +
arch/x86/kernel/cpu/cpu.h | 1 +
arch/x86/kernel/cpu/hygon.c | 404 +++++++++++++++++++++
arch/x86/kernel/cpu/mcheck/mce-severity.c | 3 +-
arch/x86/kernel/cpu/mcheck/mce.c | 20 +-
arch/x86/kernel/cpu/mtrr/cleanup.c | 3 +-
arch/x86/kernel/cpu/mtrr/generic.c | 3 +-
arch/x86/kernel/cpu/mtrr/mtrr.c | 2 +-
arch/x86/kernel/cpu/perfctr-watchdog.c | 8 +
arch/x86/kernel/smpboot.c | 4 +-
arch/x86/kvm/emulate.c | 11 +-
arch/x86/pci/amd_bus.c | 6 +-
arch/x86/xen/pmu.c | 12 +-
drivers/acpi/acpi_pad.c | 1 +
drivers/acpi/processor_idle.c | 1 +
drivers/cpufreq/acpi-cpufreq.c | 11 +
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/amd.c | 2 +-
tools/power/cpupower/utils/helpers/cpuid.c | 8 +-
tools/power/cpupower/utils/helpers/helpers.h | 2 +-
tools/power/cpupower/utils/helpers/misc.c | 2 +-
.../cpupower/utils/idle_monitor/mperf_monitor.c | 3 +-
45 files changed, 682 insertions(+), 65 deletions(-)
create mode 100644 arch/x86/kernel/cpu/hygon.c
--
2.7.4
next reply other threads:[~2018-07-23 13:20 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-23 13:20 Pu Wen [this message]
2018-07-23 13:20 ` [PATCH v2 00/17] Add support for Hygon Dhyana Family 18h processor Pu Wen
2018-07-23 13:20 ` [PATCH v2 01/17] x86/cpu: create Dhyana init file and register new cpu_dev to system Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-24 18:14 ` Paolo Bonzini
2018-07-24 18:14 ` Paolo Bonzini
[not found] ` <201807290021145963620@hygon.cn>
2018-07-28 23:42 ` Paolo Bonzini
2018-07-28 23:42 ` Paolo Bonzini
2018-07-30 16:42 ` Pu Wen
2018-07-30 16:42 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 02/17] x86/cache: get Dhyana cache size/leaves and setup cache cpumap Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 03/17] x86/mtrr: get MTRR number and support TOP_MEM2 Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 04/17] x86/smpboot: smp init nodelay and no flush caches before sleep Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 05/17] x86/perfctr: return perf counter and event selection bit offset Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 06/17] x86/nops: init ideal_nops for Hygon Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 07/17] x86/pci: add Hygon PCI vendor and northbridge support Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 08/17] x86/apic: add modern APIC support for Hygon Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 09/17] x86/bugs: add lfence mitigation to spectre v2 and no meltdown " Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 10/17] x86/events: enable Hygon support to PMU infrastructure Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 11/17] x86/mce: enable Hygon support to MCE infrastructure Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 12/17] x86/kvm: enable Hygon support to KVM infrastructure Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 13/17] x86/xen: enable Hygon support to Xen Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 14/17] driver/acpi: enable Hygon support to ACPI driver Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 15/17] driver/cpufreq: enable Hygon support to cpufreq driver Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-23 13:20 ` [PATCH v2 16/17] driver/edac: enable Hygon support to AMD64 EDAC driver Pu Wen
2018-07-23 13:20 ` Pu Wen
2018-07-28 23:42 ` Paolo Bonzini
2018-07-28 23:42 ` Paolo Bonzini
2018-07-30 16:43 ` Pu Wen
2018-07-30 16:43 ` Pu Wen
2018-07-31 7:38 ` Paolo Bonzini
2018-07-31 7:38 ` Paolo Bonzini
2018-07-31 10:46 ` Pu Wen
2018-07-31 10:46 ` Pu Wen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1532352037-7151-1-git-send-email-puwen@hygon.cn \
--to=puwen@hygon.cn \
--cc=JBeulich@suse.com \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=kvm@vger.kernel.org \
--cc=lenb@kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=rkrcmar@redhat.com \
--cc=shuah@kernel.org \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=tony.luck@intel.com \
--cc=trenn@suse.com \
--cc=viresh.kumar@linaro.org \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).