ia64/xen-unstable

changeset 12668:49ab12a04d16

[IA64] Make do_ssc() not fall into an infinite loop

Instead, call panic_domain().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author awilliam@xenbuild.aw
date Thu Nov 30 15:58:21 2006 -0700 (2006-11-30)
parents fa0f2a90059f
children 76d379e3f1d7
files xen/arch/ia64/xen/fw_emul.c xen/include/asm-ia64/debugger.h
line diff
     1.1 --- a/xen/arch/ia64/xen/fw_emul.c	Thu Nov 30 15:57:55 2006 -0700
     1.2 +++ b/xen/arch/ia64/xen/fw_emul.c	Thu Nov 30 15:58:21 2006 -0700
     1.3 @@ -1201,9 +1201,9 @@ if (!running_on_sim) { printk("SSC_OPEN,
     1.4  		vcpu_set_gr(current,8,-1L,0);
     1.5  		break;
     1.6  	    default:
     1.7 -		printk("ia64_handle_break: bad ssc code %lx, iip=0x%lx, b0=0x%lx... spinning\n",
     1.8 -			ssc, regs->cr_iip, regs->b0);
     1.9 -		while(1);
    1.10 +		panic_domain(regs,
    1.11 +		             "%s: bad ssc code %lx, iip=0x%lx, b0=0x%lx\n",
    1.12 +		             __func__, ssc, regs->cr_iip, regs->b0);
    1.13  		break;
    1.14  	}
    1.15  	vcpu_increment_iip(current);
     2.1 --- a/xen/include/asm-ia64/debugger.h	Thu Nov 30 15:57:55 2006 -0700
     2.2 +++ b/xen/include/asm-ia64/debugger.h	Thu Nov 30 15:58:21 2006 -0700
     2.3 @@ -23,11 +23,13 @@
     2.4  #define __ASM_DEBUGGER_H__
     2.5  
     2.6  // this number is an arbitary number which is not used for any other purpose
     2.7 +// __builtin_trap() 0x0
     2.8  // ski  0x80001, 0x80002
     2.9  // kdb  0x80100, 0x80101
    2.10  // kprobe 0x80200, jprobe 0x80300
    2.11  // kgdb 0x6665
    2.12  // gdb 0x99998 (#define IA64_BREAKPOINT 0x00003333300LL)
    2.13 +// ltrace 0x80001 (NOTE: this conflicts ski)
    2.14  
    2.15  // cdb should handle 0 and CDB_BREAK_NUM.
    2.16  #define CDB_BREAK_NUM	0x80800