diff options
author | Luis Machado <luisgpm@linux.vnet.ibm.com> | 2008-07-23 12:10:41 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2008-07-25 01:44:39 -0400 |
commit | d6a61bfc06d6f2248f3e75f208d64e794082013c (patch) | |
tree | d46aec6b68e30f9d7d9198bd9102fcf1c054ab7e /arch/powerpc/kernel/signal.c | |
parent | 00bf6e906156b07cd641fe154ad0efe78f989692 (diff) |
powerpc: BookE hardware watchpoint support
This patch implements support for HW based watchpoint via the
DBSR_DAC (Data Address Compare) facility of the BookE processors.
It does so by interfacing with the existing DABR breakpoint code
and adding the necessary bits and pieces for the new bits to
be properly set or cleared
Signed-off-by: Luis Machado <luisgpm@br.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/signal.c')
-rw-r--r-- | arch/powerpc/kernel/signal.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c index ad55488939c3..7aada783ec6a 100644 --- a/arch/powerpc/kernel/signal.c +++ b/arch/powerpc/kernel/signal.c | |||
@@ -145,8 +145,12 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) | |||
145 | * user space. The DABR will have been cleared if it | 145 | * user space. The DABR will have been cleared if it |
146 | * triggered inside the kernel. | 146 | * triggered inside the kernel. |
147 | */ | 147 | */ |
148 | if (current->thread.dabr) | 148 | if (current->thread.dabr) { |
149 | set_dabr(current->thread.dabr); | 149 | set_dabr(current->thread.dabr); |
150 | #if defined(CONFIG_44x) || defined(CONFIG_BOOKE) | ||
151 | mtspr(SPRN_DBCR0, current->thread.dbcr0); | ||
152 | #endif | ||
153 | } | ||
150 | 154 | ||
151 | if (is32) { | 155 | if (is32) { |
152 | if (ka.sa.sa_flags & SA_SIGINFO) | 156 | if (ka.sa.sa_flags & SA_SIGINFO) |