ARM: hw_breakpoint: disallow per-cpu breakpoints without overflow handler
authorWill Deacon <will.deacon@arm.com>
Wed, 1 Dec 2010 17:05:24 +0000 (17:05 +0000)
committerWill Deacon <will.deacon@arm.com>
Mon, 6 Dec 2010 11:55:57 +0000 (11:55 +0000)
commit3ce70b2e24cd35cc9f2df8cf5205b8ab4e6178e1
tree2f0939d5d8f2ac9d97932905f0b147b5a5e1891e
parent9ebb3cbcc39d4e61ae6751167086acfb5c201e6f
ARM: hw_breakpoint: disallow per-cpu breakpoints without overflow handler

Single-stepping a breakpoint requires us to disable it temporarily so that
we don't get stuck in a recursive debug trap. With per-cpu breakpoints this
presents a problem where an interrupt can be taken before the single-step has
completed and a new task is eventually scheduled. This new task will not
hit the breakpoint because it will have been disabled during the previous
handling code.

This patch disallows per-cpu breakpoints on ARM when an overflow handler
is not present. A similar effect can be created by placing breakpoints on
a shell and then running applications there.

Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/kernel/hw_breakpoint.c