diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-11-09 16:27:40 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-12-08 15:02:27 +0900 |
commit | 09a072947791088b88ae15111cf68fc5aaaf758d (patch) | |
tree | 510728ca3d3906a352cfc673e7f3e38e471165b4 /arch/sh/include/asm/processor_32.h | |
parent | 6ec22f9b037fc0c2e00ddb7023fad279c365324d (diff) | |
download | lwn-09a072947791088b88ae15111cf68fc5aaaf758d.tar.gz lwn-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.h | 8 |
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, \ } |