# HG changeset patch # User yamahata@xxxxxxxxxxxxx # Date 1196134276 -32400 # Node ID 84f84ee8929bf0b8015b292abc0d0ae5330a3d68 # Parent e14aa5c2f2db87e9421630e9ed74d6540f65f7ec make VMX_DBG_FAULT aware of fault in xen. When fault in xen, r21 doesn't point to vcpu so that it should be get from cpu_kr. PATCHNAME: make_vmx_dbg_fault_robust Signed-off-by: Isaku Yamahata diff -r e14aa5c2f2db -r 84f84ee8929b xen/arch/ia64/vmx/vmx_ivt.S --- a/xen/arch/ia64/vmx/vmx_ivt.S Thu Sep 27 11:33:01 2007 +0900 +++ b/xen/arch/ia64/vmx/vmx_ivt.S Tue Nov 27 12:31:16 2007 +0900 @@ -72,12 +72,18 @@ #ifdef VTI_DEBUG #define IVT_DEBUG_MASK (IVT_DEBUG_SIZE * (IVT_DEBUG_MAX - 1)) #define VMX_DBG_FAULT(i) \ + mov r31=pr; \ + mov r20=cr.ipsr;; \ + tbit.z p6,p0=r20,IA64_PSR_VM_BIT;; \ +(p6)movl r21=THIS_CPU(cpu_kr)+ \ + IA64_KR_CURRENT_OFFSET;; \ +(p6)ld8 r21=[r21]; \ + mov pr=r31;; \ add r16=IVT_CUR_OFS,r21; \ add r17=IVT_DBG_OFS,r21;; \ ld8 r18=[r16];; \ add r17=r18,r17; \ mov r19=cr.iip; \ - mov r20=cr.ipsr; \ mov r22=cr.ifa; \ mov r23=i;; \ st8 [r17]=r19,8; \