aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/oprofile_impl.h
diff options
context:
space:
mode:
authorCarl Love <cel@us.ibm.com>2008-12-01 16:18:36 -0800
committerRobert Richter <robert.richter@amd.com>2009-01-08 15:51:55 +0100
commit883823291d22e06736f1056da6d8303291d6bbf9 (patch)
treedfa8a4bba8599b8887b66048532e6360bfc6e870 /arch/powerpc/include/asm/oprofile_impl.h
parentpowerpc/oprofile: fix cell/pr_util.h (diff)
downloadlinux-dev-883823291d22e06736f1056da6d8303291d6bbf9.tar.xz
linux-dev-883823291d22e06736f1056da6d8303291d6bbf9.zip
powerpc/oprofile: IBM CELL: add SPU event profiling support
This patch adds the SPU event based profiling funcitonality for the IBM Cell processor. Previously, the CELL OProfile kernel code supported PPU event, PPU cycle profiling and SPU cycle profiling. The addition of SPU event profiling allows the users to identify where in their SPU code various SPU evnets are occuring. This should help users further identify issues with their code. Note, SPU profiling has some limitations due to HW constraints. Only one event at a time can be used for profiling and SPU event profiling must be time sliced across all of the SPUs in a node. The patch adds a new arch specific file to the OProfile file system. The file has bit 0 set to indicate that the kernel supports SPU event profiling. The user tool must check this file/bit to make sure the kernel supports SPU event profiling before trying to do SPU event profiling. The user tool check is part of the user tool patch for SPU event profiling. Signed-off-by: Carl Love <carll@us.ibm.com> Signed-off-by: Robert Richter <robert.richter@amd.com>
Diffstat (limited to 'arch/powerpc/include/asm/oprofile_impl.h')
-rw-r--r--arch/powerpc/include/asm/oprofile_impl.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/oprofile_impl.h b/arch/powerpc/include/asm/oprofile_impl.h
index 95035c602ba6..639dc96077ab 100644
--- a/arch/powerpc/include/asm/oprofile_impl.h
+++ b/arch/powerpc/include/asm/oprofile_impl.h
@@ -32,6 +32,12 @@ struct op_system_config {
unsigned long mmcr0;
unsigned long mmcr1;
unsigned long mmcra;
+#ifdef CONFIG_OPROFILE_CELL
+ /* Register for oprofile user tool to check cell kernel profiling
+ * suport.
+ */
+ unsigned long cell_support;
+#endif
#endif
unsigned long enable_kernel;
unsigned long enable_user;