# 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
|