Skip to content

Commit

Permalink
perfcounters/powerpc: Add support for POWER5 processors
Browse files Browse the repository at this point in the history
This adds the back-end for the PMU on the POWER5 processor.  This knows
how to use the fixed-function PMC5 and PMC6 (instructions completed and
run cycles).  Unlike POWER6, PMC5/6 obey the freeze conditions and can
generate interrupts, so their use doesn't impose any extra restrictions.

POWER5+ is different and is not supported by this patch.

Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Paul Mackerras committed Feb 26, 2009
1 parent d095cd4 commit 742bd95
Show file tree
Hide file tree
Showing 3 changed files with 481 additions and 1 deletion.
3 changes: 2 additions & 1 deletion arch/powerpc/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ obj-$(CONFIG_AUDIT) += audit.o
obj64-$(CONFIG_AUDIT) += compat_audit.o

obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o
obj-$(CONFIG_PERF_COUNTERS) += perf_counter.o ppc970-pmu.o power6-pmu.o
obj-$(CONFIG_PERF_COUNTERS) += perf_counter.o ppc970-pmu.o power5-pmu.o \
power6-pmu.o

obj-$(CONFIG_8XX_MINIMAL_FPEMU) += softemu8xx.o

Expand Down
4 changes: 4 additions & 0 deletions arch/powerpc/kernel/perf_counter.c
Original file line number Diff line number Diff line change
Expand Up @@ -824,6 +824,7 @@ void hw_perf_counter_setup(int cpu)
}

extern struct power_pmu ppc970_pmu;
extern struct power_pmu power5_pmu;
extern struct power_pmu power6_pmu;

static int init_perf_counters(void)
Expand All @@ -843,6 +844,9 @@ static int init_perf_counters(void)
case PV_970MP:
ppmu = &ppc970_pmu;
break;
case PV_POWER5:
ppmu = &power5_pmu;
break;
case 0x3e:
ppmu = &power6_pmu;
break;
Expand Down
Loading

0 comments on commit 742bd95

Please sign in to comment.