patch-2.3.16 linux/arch/ppc/xmon/xmon.c
Next file: linux/arch/sh/Makefile
Previous file: linux/arch/ppc/xmon/subr_prf.c
Back to the patch index
Back to the overall index
- Lines: 40
- Date:
Tue Aug 31 11:36:43 1999
- Orig file:
v2.3.15/linux/arch/ppc/xmon/xmon.c
- Orig date:
Mon Jun 28 13:40:39 1999
diff -u --recursive --new-file v2.3.15/linux/arch/ppc/xmon/xmon.c linux/arch/ppc/xmon/xmon.c
@@ -116,13 +116,11 @@
struct pt_regs regs;
int msr, cmd;
- printk("Entering xmon kernel debugger.\n");
-
if (excp == NULL) {
asm volatile ("stw 0,0(%0)\n\
lwz 0,0(1)\n\
stw 0,4(%0)\n\
- stmw 2,8(%0)" : : "r" (®s));
+ stmw 2,8(%0)" : : "b" (®s));
regs.nip = regs.link = ((unsigned long *)regs.gpr[1])[1];
regs.msr = get_msr();
regs.ctr = get_ctr();
@@ -472,8 +470,9 @@
unsigned sp;
unsigned stack[2];
struct pt_regs regs;
- extern char int_return, syscall_ret_1, syscall_ret_2;
+ extern char ret_from_int, ret_from_syscall_1, ret_from_syscall_2;
extern char lost_irq_ret, do_bottom_half_ret, do_signal_ret;
+ extern char ret_from_except;
if (excp != NULL)
sp = excp->gpr[1];
@@ -485,9 +484,10 @@
if (mread(sp, stack, sizeof(stack)) != sizeof(stack))
break;
printf("%x ", stack[1]);
- if (stack[1] == (unsigned) &int_return
- || stack[1] == (unsigned) &syscall_ret_1
- || stack[1] == (unsigned) &syscall_ret_2
+ if (stack[1] == (unsigned) &ret_from_int
+ || stack[1] == (unsigned) &ret_from_except
+ || stack[1] == (unsigned) &ret_from_syscall_1
+ || stack[1] == (unsigned) &ret_from_syscall_2
|| stack[1] == (unsigned) &lost_irq_ret
|| stack[1] == (unsigned) &do_bottom_half_ret
|| stack[1] == (unsigned) &do_signal_ret) {
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)