powerpc, hw_breakpoint: Tell generic code we have no instruction breakpoints
authorPaul Mackerras <paulus@samba.org>
Tue, 29 Jun 2010 02:50:32 +0000 (12:50 +1000)
committerPaul Mackerras <paulus@samba.org>
Wed, 30 Jun 2010 03:54:58 +0000 (13:54 +1000)
commitd09ec7387184eba9e3030496f0451204090ff610
treec3a6f251bf695a20009d1cd3f0d7a9115fdb3018
parent76b0f1337690d223811c852ad3a5078eb89276c5
powerpc, hw_breakpoint: Tell generic code we have no instruction breakpoints

At present, hw_breakpoint_slots() returns 1 regardless of what
type of breakpoint is specified in the type argument.  Since we
don't define CONFIG_HAVE_MIXED_BREAKPOINTS_REGS, there are
separate values for TYPE_INST and TYPE_DATA, and hw_breakpoint_slots()
returns 1 for both, effectively advertising instruction breakpoint
support which doesn't exist.

This fixes it by making hw_breakpoint_slots return 1 for TYPE_DATA
and 0 for TYPE_INST.  This moves hw_breakpoint_slots() from the
powerpc hw_breakpoint.h to hw_breakpoint.c because the definitions
of TYPE_INST and TYPE_DATA aren't available in <asm/hw_breakpoint.h>.
They are defined in <linux/hw_breakpoint.h> but we can't include
that header in <asm/hw_breakpoint.h>, and nor can we rely on
<linux/hw_breakpoint.h> being included before <asm/hw_breakpoint.h>.
Since hw_breakpoint_slots() is only called at boot time, there is
no performance impact from making it a real function rather than
a static inline.

Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/include/asm/hw_breakpoint.h
arch/powerpc/kernel/hw_breakpoint.c