2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-09 22:24:04 +08:00
linux-next/arch/powerpc/perf
Madhavan Srinivasan be80e758d0 powerpc/perf: Add generic compat mode pmu driver
Most of the power processor generation performance monitoring
unit (PMU) driver code is bundled in the kernel and one of those
is enabled/registered based on the oprofile_cpu_type check at
the boot.

But things get little tricky incase of "compat" mode boot.
IBM POWER System Server based processors has a compactibility
mode feature, which simpily put is, Nth generation processor
(lets say POWER8) will act and appear in a mode consistent
with an earlier generation (N-1) processor (that is POWER7).
And in this "compat" mode boot, kernel modify the
"oprofile_cpu_type" to be Nth generation (POWER8). If Nth
generation pmu driver is bundled (POWER8), it gets registered.

Key dependency here is to have distro support for latest
processor performance monitoring support. Patch here adds
a generic "compat-mode" performance monitoring driver to
be register in absence of powernv platform specific pmu driver.

Driver supports only "cycles" and "instruction" events.
"0x0001e" used as event code for "cycles" and "0x00002"
used as event code for "instruction" events. New file
called "generic-compat-pmu.c" is created to contain the driver
specific code. And base raw event code format modeled
on PPMU_ARCH_207S.

Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
[mpe: Use SPDX tag for license]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-05-03 02:54:58 +10:00
..
req-gen powerpc: clean the inclusion of stringify.h 2018-07-30 22:48:17 +10:00
8xx-pmu.c powerpc/8xx: Use patch_site for perf counters setup 2018-10-26 21:58:58 +11:00
bhrb.S powerpc/perf: Add basic assembly code to read BHRB entries on POWER8 2013-04-26 16:11:11 +10:00
callchain.c powerpc/mm: Rename find_linux_pte_or_hugepte() 2017-08-17 23:13:46 +10:00
core-book3s.c powerpc/perf: Add generic compat mode pmu driver 2019-05-03 02:54:58 +10:00
core-fsl-emb.c powerpc/pmu/fsl: fix is_nmi test for irq mask change 2018-06-03 20:40:29 +10:00
e500-pmu.c powerpc/perf: Add stalled-cycles events 2013-01-10 17:00:56 +11:00
e6500-pmu.c powerpc/perf: Add e6500 PMU driver 2013-08-07 18:38:04 -05:00
generic-compat-pmu.c powerpc/perf: Add generic compat mode pmu driver 2019-05-03 02:54:58 +10:00
hv-24x7-catalog.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv-24x7-domains.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv-24x7.c perf/core, arch/powerpc: use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs 2019-01-21 11:01:26 +01:00
hv-24x7.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv-common.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv-common.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv-gpci-requests.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv-gpci.c perf/core, arch/powerpc: use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs 2019-01-21 11:01:26 +01:00
hv-gpci.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
imc-pmu.c perf/core, arch/powerpc: use PERF_PMU_CAP_NO_EXCLUDE for exclusion incapable PMUs 2019-01-21 11:01:26 +01:00
internal.h powerpc/perf: Add generic compat mode pmu driver 2019-05-03 02:54:58 +10:00
isa207-common.c powerpc/perf: Add constraints for power9 l2/l3 bus events 2018-12-20 20:53:11 +11:00
isa207-common.h powerpc/perf: Add constraints for power9 l2/l3 bus events 2018-12-20 20:53:11 +11:00
Makefile powerpc/perf: Add generic compat mode pmu driver 2019-05-03 02:54:58 +10:00
mpc7450-pmu.c powerpc/perf: Pass the struct perf_events down to compute_mmcr() 2014-07-28 14:30:47 +10:00
perf_regs.c powerpc/perf: Update perf_regs structure to include MMCRA 2019-01-08 19:22:47 +11:00
power5-pmu.c powerpc/perf: init pmu from core-book3s 2019-05-03 02:54:58 +10:00
power5+-pmu.c powerpc/perf: init pmu from core-book3s 2019-05-03 02:54:58 +10:00
power6-pmu.c powerpc/perf: init pmu from core-book3s 2019-05-03 02:54:58 +10:00
power7-events-list.h powerpc/perf: Make some new raw event codes available in sysfs 2014-03-24 09:48:23 +11:00
power7-pmu.c powerpc/perf: init pmu from core-book3s 2019-05-03 02:54:58 +10:00
power8-events-list.h powerpc/perf: Add Power8 mem_access event to sysfs 2017-04-19 20:00:23 +10:00
power8-pmu.c powerpc/perf: init pmu from core-book3s 2019-05-03 02:54:58 +10:00
power9-events-list.h powerpc/perf: Add mem access events to sysfs 2019-01-31 10:38:27 +11:00
power9-pmu.c powerpc/perf: init pmu from core-book3s 2019-05-03 02:54:58 +10:00
ppc970-pmu.c powerpc/perf: init pmu from core-book3s 2019-05-03 02:54:58 +10:00