linux/arch
Paul Mackerras 7325927e5a perf_counter: powerpc: Add processor back-end for MPC7450 family
This adds support for the performance monitor hardware on the
MPC7450 family of processors (7450, 7451, 7455, 7447/7457, 7447A,
7448), used in the later Apple G4 powermacs/powerbooks and other
machines.  These machines have 6 hardware counters with a unique
set of events which can be counted on each counter, with some
events being available on multiple counters.

Raw event codes for these processors are (PMC << 8) + PMCSEL.
If PMC is non-zero then the event is that selected by the given
PMCSEL value for that PMC (hardware counter).  If PMC is zero
then the event selected is one of the low-numbered ones that are
common to several PMCs.  In this case PMCSEL must be <= 22 and
the event is what that PMCSEL value would select on PMC1 (but
it may be placed any other PMC that has the same event for that
PMCSEL value).

For events that count cycles or occurrences that exceed a threshold,
the threshold requested can be specified in the 0x3f000 bits of the
raw event codes.  If the event uses the threshold multiplier bit
and that bit should be set, that is indicated with the 0x40000 bit
of the raw event code.

This fills in some of the generic cache events.  Unfortunately there
are quite a few blank spaces in the table, partly because these
processors tend to count cache hits rather than cache accesses.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: linuxppc-dev@ozlabs.org
Cc: benh@kernel.crashing.org
LKML-Reference: <19000.55631.802122.696927@cargo.ozlabs.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-06-18 11:11:46 +02:00
..
alpha kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
arm Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2009-06-16 21:15:42 -07:00
avr32 mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
blackfin Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
cris kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
frv mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
h8300 kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
ia64 kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
m32r kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
m68k kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
m68knommu mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
microblaze kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
mips Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
mn10300 kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
parisc kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
powerpc perf_counter: powerpc: Add processor back-end for MPC7450 family 2009-06-18 11:11:46 +02:00
s390 Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
sh kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
sparc Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
um Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
x86 perf_counter: x86: Set the period in the intel overflow handler 2009-06-17 19:23:52 +02:00
xtensa kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
.gitignore
Kconfig mutex: have non-spinning mutexes on s390 by default 2009-04-09 19:28:24 +02:00