# HG changeset patch # User yamahata@xxxxxxxxxxxxx # Date 1164874303 -32400 # Node ID 92060a711e82beed6b0a421d547f35b62d5add47 # Parent d2fd2ad1d345cd15dec15b1cbb3bbf1962eaac73 make do_ssc() not fall in infinit loop. instead, call panic_domain(). PATCHNAME: dont_loop_in_do_ssc Signed-off-by: Isaku Yamahata diff -r d2fd2ad1d345 -r 92060a711e82 xen/arch/ia64/xen/fw_emul.c --- a/xen/arch/ia64/xen/fw_emul.c Thu Nov 30 17:01:53 2006 +0900 +++ b/xen/arch/ia64/xen/fw_emul.c Thu Nov 30 17:11:43 2006 +0900 @@ -1198,9 +1198,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 d2fd2ad1d345 -r 92060a711e82 xen/include/asm-ia64/debugger.h --- a/xen/include/asm-ia64/debugger.h Thu Nov 30 17:01:53 2006 +0900 +++ b/xen/include/asm-ia64/debugger.h Thu Nov 30 17:11:43 2006 +0900 @@ -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