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

[Xen-changelog] [xen-unstable] [IA64] Fix MCA handling from xen relocation changes



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1200596743 25200
# Node ID 36231eca00d936332da56a224ad5d8ed3f01f745
# Parent  ac296153ea64a450e97f8a951d916966620c706f
[IA64] Fix MCA handling from xen relocation changes

Signed-off-by: Kazuhiro Suzuki <kaz@xxxxxxxxxxxxxx>
---
 xen/arch/ia64/linux-xen/mca_asm.S |   29 +++++++++++++----------------
 1 files changed, 13 insertions(+), 16 deletions(-)

diff -r ac296153ea64 -r 36231eca00d9 xen/arch/ia64/linux-xen/mca_asm.S
--- a/xen/arch/ia64/linux-xen/mca_asm.S Thu Jan 17 12:05:43 2008 -0700
+++ b/xen/arch/ia64/linux-xen/mca_asm.S Thu Jan 17 12:05:43 2008 -0700
@@ -482,32 +482,26 @@ ia64_reload_tr:
        // avoid overlapping with xenheap TR
        mov r17=ip
        ;;
-       tpa r17=r17
-       ;;
        dep r17=0,r17,0,KERNEL_TR_PAGE_SHIFT
        ;;
        shr.u r17=r17,IA64_GRANULE_SHIFT
        ;; 
-       GET_THIS_PADDR(r2,cpu_kr);;
-       add r2=IA64_KR_CURRENT_OFFSET,r2;;
-       ld8 r16=[r2];;
-       ;;
-#if KERNEL_TR_PAGE_SHIFT < IA64_GRANULE_SHIFT
-# error "KERNEL_TR_PAGE_SHIFT < IA64_GRANULE_SHIFT shouldn't happen"
-#endif
-#if KERNEL_TR_PAGE_SHIFT > IA64_GRANULE_SHIFT
-       dep  r16=0,r16,0,KERNEL_TR_PAGE_SHIFT-IA64_GRANULE_SHIFT
-       ;;
-#endif
-       cmp.eq p7,p0=r17,r16
-(p7)   br.cond.sptk    .reload_vhpt
-       
        // Kernel registers are saved in a per_cpu cpu_kr_ia64_t
        // to allow the kernel registers themselves to be used by domains.
        GET_THIS_PADDR(r2, cpu_kr);;
        add r2=IA64_KR_CURRENT_STACK_OFFSET,r2
        ;;
        ld8 r16=[r2]
+       ;;
+#if KERNEL_TR_PAGE_SHIFT < IA64_GRANULE_SHIFT
+# error "KERNEL_TR_PAGE_SHIFT < IA64_GRANULE_SHIFT shouldn't happen"
+#endif
+#if KERNEL_TR_PAGE_SHIFT > IA64_GRANULE_SHIFT
+       dep  r18=0,r16,0,KERNEL_TR_PAGE_SHIFT-IA64_GRANULE_SHIFT
+       ;;
+#endif
+       cmp.eq p7,p0=r17,r18
+(p7)   br.cond.sptk    .reload_vhpt
 #else
        mov r16=IA64_KR(CURRENT_STACK)
 #endif
@@ -535,6 +529,9 @@ ia64_reload_tr:
 #if VHPT_ENABLED
        GET_VA_VCPU_VHPT_MADDR(r2,r3);;
        dep r3=0,r2,0,KERNEL_TR_PAGE_SHIFT
+       ;; 
+       dep r3=0,r3,60,4                // physical address of
+                                       // va_vhpt & ~(KERNEL_TR_PAGE_SHIFT - 1)
        ;;
        shr.u r3=r3,IA64_GRANULE_SHIFT
        ;;

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


 


Rackspace

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