在 2021/4/7 14:12, Cheng Jian 写道:
Adds Zhaoxin CPU support
LeoLiu-oc (33): x86/cpu: Create Zhaoxin processors architecture support file x86/cpu: Remove redundant cpu_detect_cache_sizes() call x86/cpu/centaur: Replace two-condition switch-case with an if statement x86/cpu/centaur: Add Centaur family >=7 CPUs initialization support x86/cpufeatures: Add Zhaoxin feature bits x86/cpu: Add detect extended topology for Zhaoxin CPUs ACPI, x86: Add Zhaoxin processors support for NONSTOP TSC x86/power: Optimize C3 entry on Centaur CPUs x86/acpi/cstate: Add Zhaoxin processors support for cache flush policy in C3 x86/mce: Add Zhaoxin MCE support x86/mce: Add Zhaoxin CMCI support x86/mce: Add Zhaoxin LMCE support x86/speculation/spectre_v2: Exclude Zhaoxin CPUs from SPECTRE_V2 x86/speculation/swapgs: Exclude Zhaoxin CPUs from SWAPGS vulnerability crypto: x86/crc32c-intel - Don't match some Zhaoxin CPUs x86/perf: Add hardware performance events support for Zhaoxin CPU. PCI: Add Zhaoxin Vendor ID ata: sata_zhaoxin: Add support for Zhaoxin Serial ATA xhci: Add Zhaoxin xHCI LPM U1/U2 feature support PCI: Add ACS quirk for Zhaoxin multi-function devices PCI: Add ACS quirk for Zhaoxin Root/Downstream Ports xhci: fix issue of cross page boundary in TRB prefetch xhci: Show Zhaoxin XHCI root hub speed correctly ALSA: hda: Add support of Zhaoxin SB HDAC ALSA: hda: Add support of Zhaoxin NB HDAC ALSA: hda: Add support of Zhaoxin NB HDAC codec xhci: Adjust the UHCI Controllers bit value xhci: fix issue with resume from system Sx state x86/apic: Mask IOAPIC entries when disabling the local APIC USB:Fix kernel NULL pointer when unbind UHCI form vfio-pci iommu/vt-d:Add support for detecting ACPI device in RMRR x86/Kconfig: Rename UMIP config parameter x86/Kconfig: Drop vendor dependency for X86_UMIP
MAINTAINERS | 6 + arch/x86/Kconfig | 15 +- arch/x86/Kconfig.cpu | 13 + arch/x86/crypto/crc32c-intel_glue.c | 7 + arch/x86/events/Makefile | 2 + arch/x86/events/core.c | 4 + arch/x86/events/perf_event.h | 14 +- arch/x86/events/zhaoxin/Makefile | 3 + arch/x86/events/zhaoxin/core.c | 612 +++++++++ arch/x86/events/zhaoxin/uncore.c | 1101 +++++++++++++++++ arch/x86/events/zhaoxin/uncore.h | 308 +++++ arch/x86/include/asm/cpufeatures.h | 21 + arch/x86/include/asm/disabled-features.h | 2 +- arch/x86/include/asm/processor.h | 3 +- arch/x86/include/asm/umip.h | 4 +- arch/x86/kernel/Makefile | 2 +- arch/x86/kernel/acpi/cstate.c | 27 + arch/x86/kernel/apic/apic.c | 7 + arch/x86/kernel/cpu/Makefile | 1 + arch/x86/kernel/cpu/centaur.c | 47 +- arch/x86/kernel/cpu/common.c | 9 +- arch/x86/kernel/cpu/mce/core.c | 97 +- arch/x86/kernel/cpu/mce/intel.c | 11 +- arch/x86/kernel/cpu/mce/internal.h | 6 + arch/x86/kernel/cpu/perfctr-watchdog.c | 8 + arch/x86/kernel/cpu/zhaoxin.c | 170 +++ drivers/acpi/acpi_pad.c | 1 + drivers/acpi/processor_idle.c | 1 + drivers/ata/Kconfig | 8 + drivers/ata/Makefile | 1 + drivers/ata/sata_zhaoxin.c | 384 ++++++ drivers/iommu/dmar.c | 75 +- drivers/iommu/intel-iommu.c | 24 +- drivers/pci/quirks.c | 31 + drivers/usb/core/hcd-pci.c | 10 + drivers/usb/host/uhci-pci.c | 3 + drivers/usb/host/xhci-mem.c | 11 +- drivers/usb/host/xhci-pci.c | 12 + drivers/usb/host/xhci.c | 53 +- drivers/usb/host/xhci.h | 2 + include/linux/dmar.h | 11 +- include/linux/pci_ids.h | 2 + sound/pci/hda/hda_controller.c | 17 +- sound/pci/hda/hda_controller.h | 2 + sound/pci/hda/hda_intel.c | 68 +- sound/pci/hda/patch_hdmi.c | 26 + .../arch/x86/include/asm/disabled-features.h | 2 +- 47 files changed, 3143 insertions(+), 101 deletions(-) create mode 100644 arch/x86/events/zhaoxin/Makefile create mode 100644 arch/x86/events/zhaoxin/core.c create mode 100644 arch/x86/events/zhaoxin/uncore.c create mode 100644 arch/x86/events/zhaoxin/uncore.h create mode 100644 arch/x86/kernel/cpu/zhaoxin.c create mode 100644 drivers/ata/sata_zhaoxin.c
Reviewed-by: LeoLiu-oc LeoLiu-oc@zhaoxin.com