# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 49ab12a04d16ec157e0f910f8417e5ed944c4e9d
# Parent fa0f2a90059f4a10c02e56df6fa828402523a260
[IA64] Make do_ssc() not fall into an infinite loop
Instead, call panic_domain().
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
xen/arch/ia64/xen/fw_emul.c | 6 +++---
xen/include/asm-ia64/debugger.h | 2 ++
2 files changed, 5 insertions(+), 3 deletions(-)
diff -r fa0f2a90059f -r 49ab12a04d16 xen/arch/ia64/xen/fw_emul.c
--- a/xen/arch/ia64/xen/fw_emul.c Thu Nov 30 15:57:55 2006 -0700
+++ b/xen/arch/ia64/xen/fw_emul.c Thu Nov 30 15:58:21 2006 -0700
@@ -1201,9 +1201,9 @@ if (!running_on_sim) { printk("SSC_OPEN,
vcpu_set_gr(current,8,-1L,0);
break;
default:
- printk("ia64_handle_break: bad ssc code %lx, iip=0x%lx,
b0=0x%lx... spinning\n",
- ssc, regs->cr_iip, regs->b0);
- while(1);
+ panic_domain(regs,
+ "%s: bad ssc code %lx, iip=0x%lx, b0=0x%lx\n",
+ __func__, ssc, regs->cr_iip, regs->b0);
break;
}
vcpu_increment_iip(current);
diff -r fa0f2a90059f -r 49ab12a04d16 xen/include/asm-ia64/debugger.h
--- a/xen/include/asm-ia64/debugger.h Thu Nov 30 15:57:55 2006 -0700
+++ b/xen/include/asm-ia64/debugger.h Thu Nov 30 15:58:21 2006 -0700
@@ -23,11 +23,13 @@
#define __ASM_DEBUGGER_H__
// this number is an arbitary number which is not used for any other purpose
+// __builtin_trap() 0x0
// ski 0x80001, 0x80002
// kdb 0x80100, 0x80101
// kprobe 0x80200, jprobe 0x80300
// kgdb 0x6665
// gdb 0x99998 (#define IA64_BREAKPOINT 0x00003333300LL)
+// ltrace 0x80001 (NOTE: this conflicts ski)
// cdb should handle 0 and CDB_BREAK_NUM.
#define CDB_BREAK_NUM 0x80800
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|