[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [PATCH 4/12] vti fault handler clean up take 2: make VMX_DBG_FAULT aware of fault in xen



# 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 <yamahata@xxxxxxxxxxxxx>

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;                    \

Attachment: 16505_84f84ee8929b_make_vmx_dbg_fault_robust.patch
Description: Text Data

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.