summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/processor_32.h
diff options
context:
space:
mode:
authorPaul Mundt2009-11-09 08:27:40 +0100
committerPaul Mundt2009-12-08 07:02:27 +0100
commit09a072947791088b88ae15111cf68fc5aaaf758d (patch)
tree510728ca3d3906a352cfc673e7f3e38e471165b4 /arch/sh/include/asm/processor_32.h
parentMerge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kern... (diff)
downloadkernel-qcow2-linux-09a072947791088b88ae15111cf68fc5aaaf758d.tar.gz
kernel-qcow2-linux-09a072947791088b88ae15111cf68fc5aaaf758d.tar.xz
kernel-qcow2-linux-09a072947791088b88ae15111cf68fc5aaaf758d.zip
sh: hw-breakpoints: Add preliminary support for SH-4A UBC.
This adds preliminary support for the SH-4A UBC to the hw-breakpoints API. Presently only a single channel is implemented, and the ptrace interface still needs to be converted. This is the first step to cleaning up the long-standing UBC mess, making the UBC more generally accessible, and finally making it SMP safe. An additional abstraction will be layered on top of this as with the perf events code to permit the various CPU families to wire up support for their own specific UBCs, as many variations exist. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/processor_32.h')
-rw-r--r--arch/sh/include/asm/processor_32.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/sh/include/asm/processor_32.h b/arch/sh/include/asm/processor_32.h
index 9a8714945dc9..f4b54040dbc3 100644
--- a/arch/sh/include/asm/processor_32.h
+++ b/arch/sh/include/asm/processor_32.h
@@ -14,6 +14,7 @@
#include <asm/page.h>
#include <asm/types.h>
#include <asm/ptrace.h>
+#include <asm/ubc.h>
/*
* Default implementation of macro that returns current
@@ -99,8 +100,8 @@ struct thread_struct {
unsigned long sp;
unsigned long pc;
- /* Hardware debugging registers */
- unsigned long ubc_pc;
+ /* Save middle states of ptrace breakpoints */
+ struct perf_event *ptrace_bps[NR_UBC_CHANNELS];
/* floating point info */
union sh_fpu_union fpu;
@@ -111,9 +112,6 @@ struct thread_struct {
#endif
};
-/* Count of active tasks with UBC settings */
-extern int ubc_usercnt;
-
#define INIT_THREAD { \
.sp = sizeof(init_stack) + (long) &init_stack, \
}