Commit f518d469 authored by Heiko Carstens's avatar Heiko Carstens
Browse files

Merge branch 'pai-pmu-merge'



Thomas Richter says:

====================

The PAI PMUs pai_crypto and pai_ext both operate on memory
mapped counters supported by z16 and follow on machines.
These memory mapped counters have a lot in common, like:
 - validation, installing and removing events
 - starting and stopping events
 - retrieving counter values
 - collecting sample data.

However both PMU drivers have slightly different parameters,
for example:
 - different mapped memory size
 - different number of supported counters
 - different counter numbers and names
 - different bits in the CR0 register
 - different anchor address in lowcore

Due to these different parameters, two independent
PMUs have been developed. However both PMU drivers
have very much in common and most of the PMU call back
functions look very similar and are sometimes identical.

This patch set combines both independent PMU device drivers
perf_pai_crypto.c and per_pai_ext.c into one device driver.
The new device driver operations on a table which contains
the different parameters and uses common functions for
event operations.

Result is one PAI PMU driver which supports both PMUs.
It is also extendable to support new PAI PMUs.

====================

Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parents c1287d67 492578d3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -77,6 +77,7 @@ static __always_inline void pai_kernel_exit(struct pt_regs *regs)

#define PAI_SAVE_AREA(x)	((x)->hw.event_base)
#define PAI_CPU_MASK(x)		((x)->hw.addr_filters)
#define PAI_PMU_IDX(x)		((x)->hw.last_tag)
#define PAI_SWLIST(x)		(&(x)->hw.tp_list)

#endif
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ obj-$(CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT) += ima_arch.o
obj-$(CONFIG_PERF_EVENTS)	+= perf_event.o
obj-$(CONFIG_PERF_EVENTS)	+= perf_cpum_cf.o perf_cpum_sf.o
obj-$(CONFIG_PERF_EVENTS)	+= perf_cpum_cf_events.o perf_regs.o
obj-$(CONFIG_PERF_EVENTS)	+= perf_pai_crypto.o perf_pai_ext.o
obj-$(CONFIG_PERF_EVENTS)	+= perf_pai.o

obj-$(CONFIG_TRACEPOINTS)	+= trace.o

+1231 −0

File changed and moved.

Preview size limit exceeded, changes collapsed.

arch/s390/kernel/perf_pai_ext.c

deleted100644 → 0
+0 −756

File deleted.

Preview size limit exceeded, changes collapsed.