summaryrefslogtreecommitdiffstats
path: root/drivers/sgi/char
diff options
context:
space:
mode:
authorMark Salter <msalter@redhat.com>1997-09-16 15:02:47 +0000
committerMark Salter <msalter@redhat.com>1997-09-16 15:02:47 +0000
commit6ce1685bcf39c7a589acdeb9639e71c4dde91ab0 (patch)
treec8710ddd640823af9c2d89885f69f6ba5f0db05d /drivers/sgi/char
parent13646a91cb1a42943a091bfc680e18b4071fd825 (diff)
Call set_async_breakpoint() if kgdb 'stop' character is received. kgdb
will subsequently take control at the insn interrupted by the incoming stop character.
Diffstat (limited to 'drivers/sgi/char')
-rw-r--r--drivers/sgi/char/sgiserial.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/sgi/char/sgiserial.c b/drivers/sgi/char/sgiserial.c
index c48c9ac45..6f33ad6d7 100644
--- a/drivers/sgi/char/sgiserial.c
+++ b/drivers/sgi/char/sgiserial.c
@@ -357,7 +357,7 @@ static _INLINE_ void rs_sched_event(struct sgi_serial *info,
mark_bh(SERIAL_BH);
}
-extern void breakpoint(void); /* For the KGDB frame character */
+extern void set_async_breakpoint(unsigned int epc);
static _INLINE_ void receive_chars(struct sgi_serial *info, struct pt_regs *regs)
{
@@ -394,7 +394,7 @@ static _INLINE_ void receive_chars(struct sgi_serial *info, struct pt_regs *regs
* to see how all this works.
*/
if((info->kgdb_channel) && (ch =='\003')) {
- /* breakpoint(); */
+ set_async_breakpoint(read_32bit_cp0_register(CP0_EPC));
goto clear_and_exit;
}