diff options
author | K.Prasad <prasad@linux.vnet.ibm.com> | 2010-06-15 11:35:31 +0530 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2010-06-22 19:40:50 +1000 |
commit | 2538c2d08f46141550a1e68819efa8fe31c6e3dc (patch) | |
tree | c84255fa8dbc9446d4ff546988adabc12450b880 /arch/powerpc/kernel/signal.c | |
parent | 5aae8a53708025d4e718f0d2e7c2f766779ddc71 (diff) | |
download | kernel_goldelico_gta04-2538c2d08f46141550a1e68819efa8fe31c6e3dc.zip kernel_goldelico_gta04-2538c2d08f46141550a1e68819efa8fe31c6e3dc.tar.gz kernel_goldelico_gta04-2538c2d08f46141550a1e68819efa8fe31c6e3dc.tar.bz2 |
powerpc, hw_breakpoint: Handle concurrent alignment interrupts
If an alignment interrupt occurs on an instruction that is being
single-stepped, the alignment interrupt handler currently handles
the single-step condition by unconditionally sending a SIGTRAP to
the process. Other synchronous interrupts that result in the
instruction being emulated do likewise.
With hw_breakpoint support, the hw_breakpoint code needs to be able
to intercept these single-step events as well as those where the
instruction executes normally and a trace interrupt happens.
Fix this by making emulate_single_step() use the existing
single_step_exception() function instead of calling _exception()
directly. We then make single_step_exception() use the abstracted
clear_single_step() rather than clearing bits in the MSR image
directly so that emulate_single_step() will continue to work
correctly on Book 3E processors.
Signed-off-by: K.Prasad <prasad@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/signal.c')
0 files changed, 0 insertions, 0 deletions