Index: xen-unstable.hg/xen/arch/ia64/linux-xen/mca_asm.S
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/linux-xen/mca_asm.S	2007-12-05 17:55:46.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/linux-xen/mca_asm.S	2007-12-05 19:11:32.000000000 +0900
@@ -418,6 +418,25 @@ ia64_reload_tr:
 	srlz.i
 	srlz.d
 	;;
+	// 6. Reload DTR register for xen heap.
+	mov r18=KERNEL_TR_PAGE_SHIFT<<2
+	// XXX: Fixme: needs to be calculated
+	movl r17=XEN_HEAP_ADDR
+	;;
+	mov cr.itir=r18
+	mov cr.ifa=r17
+        mov r16=IA64_TR_KERNEL
+	mov r19=ip
+	movl r18=PAGE_KERNEL
+	;;
+        dep r17=0,r19,0, KERNEL_TR_PAGE_SHIFT
+	;;
+	or r18=r17,r18
+	;;
+        itr.d dtr[r16]=r18
+        ;;
+	srlz.d
+	;;
 	// 2. Reload DTR register for PERCPU data.
 	GET_THIS_PADDR(r2, ia64_mca_per_cpu_pte)
 	;;
