diff options
author | Scott Wood <scottwood@freescale.com> | 2010-02-25 18:09:45 -0600 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2010-03-05 03:04:08 -0600 |
commit | a11106544f33c104706ae42d27219a409b67478e (patch) | |
tree | 0ffb268e41d70951415cb3cc9526e6bc673229b1 /arch/powerpc/include/asm/reg_fsl_emb.h | |
parent | 9d6df3fdfc470c313b7ea13dbe8a63fb21ab7365 (diff) | |
download | blackbird-op-linux-a11106544f33c104706ae42d27219a409b67478e.tar.gz blackbird-op-linux-a11106544f33c104706ae42d27219a409b67478e.zip |
powerpc/perf: e500 support
This implements perf_event support for the Freescale embedded performance
monitor, based on the existing perf_event.c that supports server/classic
chips.
Some limitations:
- Performance monitor interrupts are regular EE interrupts, and thus you
can't profile places with interrupts disabled. We may want to implement
soft IRQ-disabling, with perfmon interrupts exempted and treated as NMIs.
- When trying to schedule multiple event groups at once, and using
restricted events, situations could arise where scheduling fails even
though it would be possible. Consider three groups, each with two events.
One group has restricted events, the others don't. The two non-restricted
groups are scheduled, then one is removed, which happens to occupy the two
counters that can't do restricted events. The remaining non-restricted
group will not be moved to the non-restricted-capable counters to make
room if the restricted group tries to be scheduled.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/reg_fsl_emb.h')
-rw-r--r-- | arch/powerpc/include/asm/reg_fsl_emb.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/reg_fsl_emb.h b/arch/powerpc/include/asm/reg_fsl_emb.h index 0de404dfee8b..77bb71cfd991 100644 --- a/arch/powerpc/include/asm/reg_fsl_emb.h +++ b/arch/powerpc/include/asm/reg_fsl_emb.h @@ -31,7 +31,7 @@ #define PMLCA_FCM0 0x08000000 /* Freeze when PMM==0 */ #define PMLCA_CE 0x04000000 /* Condition Enable */ -#define PMLCA_EVENT_MASK 0x007f0000 /* Event field */ +#define PMLCA_EVENT_MASK 0x00ff0000 /* Event field */ #define PMLCA_EVENT_SHIFT 16 #define PMRN_PMLCB0 0x110 /* PM Local Control B0 */ |