TencentOS-kernel/arch/x86
Kim Phillips 5dbc635ccc perf/amd/uncore: Add support for Family 19h L3 PMU
Family 19h introduces change in slice, core and thread specification in
its L3 Performance Event Select (ChL3PmcCfg) h/w register. The change is
incompatible with Family 17h's version of the register.

Introduce a new path in l3_thread_slice_mask() to do things differently
for Family 19h vs. Family 17h, otherwise the new hardware doesn't get
programmed correctly.

Instead of a linear core--thread bitmask, Family 19h takes an encoded
core number, and a separate thread mask. There are new bits that are set
for all cores and all slices, of which only the latter is used, since
the driver counts events for all slices on behalf of the specified CPU.

Also update amd_uncore_init() to base its L2/NB vs. L3/Data Fabric mode
decision based on Family 17h or above, not just 17h and 18h: the Family
19h Data Fabric PMC is compatible with the Family 17h DF PMC.

 [ bp: Touchups. ]

Signed-off-by: Kim Phillips <kim.phillips@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200313231024.17601-3-kim.phillips@amd.com
2021-09-23 19:21:43 +08:00
..
boot x86/asm: Replace __force_order with a memory clobber 2021-03-16 16:39:12 +08:00
configs vgacon: remove software scrollback support 2021-03-16 16:36:07 +08:00
crypto crypto: x86/aes-ni-xts - use direct calls to and 4-way stride 2021-04-12 12:53:14 +08:00
entry x86/entry/64: Remove unneeded kernel CR3 switching 2021-08-17 06:29:11 +00:00
events perf/amd/uncore: Add support for Family 19h L3 PMU 2021-09-23 19:21:43 +08:00
hyperv x86/hyperv: check cpu mask after interrupt has been disabled 2021-04-12 12:51:21 +08:00
ia32 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
include perf/amd/uncore: Add support for Family 19h L3 PMU 2021-09-23 19:21:43 +08:00
kernel x86/MCE/AMD, EDAC/mce_amd: Add new Load Store unit McaType 2021-09-23 19:21:30 +08:00
kvm x86/process/64: Make save_fsgs_for_kvm() ready for FSGSBASE 2021-08-17 06:29:11 +00:00
lib Intel: x86/insn-eval: Add support for 64-bit kernel mode 2021-04-25 14:31:16 +08:00
math-emu x86: math-emu: Fix up 'cmp' insn for clang ias 2021-03-16 16:32:34 +08:00
mm x86/traps: Attempt to fixup exceptions in vDSO before signaling 2021-07-12 08:56:46 +00:00
net bpf, x86: Validate computation of branch displacements for x86-32 2021-05-20 16:06:54 +08:00
oprofile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
pci x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled 2021-03-16 16:39:28 +08:00
platform efi/x86: Free efi_pgd with free_pages() 2021-03-16 16:41:24 +08:00
power x86/asm/32: Add ENDs to some functions and relabel with SYM_CODE_* 2021-04-12 12:51:15 +08:00
purgatory x86/purgatory: Disable various profiling and sanitizing options 2021-03-16 16:30:08 +08:00
ras Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
realmode x86/asm/32: Add ENDs to some functions and relabel with SYM_CODE_* 2021-04-12 12:51:15 +08:00
tools x86/build: Treat R_386_PLT32 relocation as R_386_PC32 2021-04-12 12:52:46 +08:00
um Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
video Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
xen Xen/gnttab: handle p2m update errors on a per-slot basis 2021-04-12 12:52:49 +08:00
.gitignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kbuild Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections 2021-07-12 08:56:46 +00:00
Kconfig.cpu x86/intel: Initialize IA32_FEAT_CTL MSR at boot 2021-07-12 08:56:46 +00:00
Kconfig.debug Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS) 2021-05-20 16:07:24 +08:00
Makefile.um Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile_32.cpu Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00