WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [IA64] Fix thash long format crash

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Fix thash long format crash
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 23 Jan 2008 01:11:29 -0800
Delivery-date: Wed, 23 Jan 2008 01:17:42 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1200690680 25200
# Node ID ff90abf572f2d5aa7d4a7f764b3c343b66a06210
# Parent  759a9fb42645e4c95eb68124abab44c832f7e746
[IA64] Fix thash long format crash

Do not overwrite r25 (and restore r24) for C fallback of vmx_asm_thash.

Signed-off-by: Tristan Gingold <tgingold@xxxxxxx>
---
 xen/arch/ia64/vmx/optvfault.S |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff -r 759a9fb42645 -r ff90abf572f2 xen/arch/ia64/vmx/optvfault.S
--- a/xen/arch/ia64/vmx/optvfault.S     Fri Jan 18 14:09:04 2008 -0700
+++ b/xen/arch/ia64/vmx/optvfault.S     Fri Jan 18 14:11:20 2008 -0700
@@ -17,6 +17,7 @@
 #include <asm/vmx_vpd.h>
 #include <asm/vmx_pal_vsa.h>
 #include <asm/asm-offsets.h>
+#include <asm/virt_event.h>
 #include <asm-ia64/vmx_mm_def.h>
 #include <asm-ia64/vmx_phy_mode.h>
 
@@ -467,24 +468,26 @@ GLOBAL_ENTRY(vmx_asm_thash)
     ;;                                                     
 vmx_asm_thash_back1:
     shr.u r23=r19,61           // get RR number
-    adds r25=VCPU_VRR0_OFS,r21 // get vcpu->arch.arch_vmx.vrr[0]'s addr
+    adds r28=VCPU_VRR0_OFS,r21 // get vcpu->arch.arch_vmx.vrr[0]'s addr
     adds r16=IA64_VPD_VPTA_OFFSET,r16  // get virtual pta 
     ;;
-    shladd r27=r23,3,r25       // get vcpu->arch.arch_vmx.vrr[r23]'s addr
+    shladd r27=r23,3,r28       // get vcpu->arch.arch_vmx.vrr[r23]'s addr
     ld8 r17=[r16]              // get virtual PTA
     mov r26=1
     ;;
     extr.u r29=r17,2,6         // get pta.size
-    ld8 r25=[r27]              // get vcpu->arch.arch_vmx.vrr[r23]'s value
+    ld8 r28=[r27]              // get vcpu->arch.arch_vmx.vrr[r23]'s value
     ;;
     // Fall-back to C if VF (long format) is set
     tbit.nz p6,p0=r17,8
     mov b0=r24
-    (p6) br.cond.dpnt.many vmx_virtualization_fault_back
-    extr.u r25=r25,2,6         // get rr.ps
+    ;;
+(p6) mov r24=EVENT_THASH
+(p6) br.cond.dpnt.many vmx_virtualization_fault_back
+    extr.u r28=r28,2,6         // get rr.ps
     shl r22=r26,r29            // 1UL << pta.size
     ;;
-    shr.u r23=r19,r25          // vaddr >> rr.ps
+    shr.u r23=r19,r28          // vaddr >> rr.ps
     adds r26=3,r29             // pta.size + 3 
     shl r27=r17,3              // pta << 3 
     ;;

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Fix thash long format crash, Xen patchbot-unstable <=