Index: xen-unstable.hg/xen/arch/ia64/xen/xenasm.S
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/xen/xenasm.S	2007-12-05 20:17:22.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/xen/xenasm.S	2007-12-05 20:19:26.000000000 +0900
@@ -92,7 +92,17 @@ GLOBAL_ENTRY(ia64_new_rr7)
 	itr.i itr[r16]=r18
 	;; 
 	itr.d dtr[r16]=r18
-
+	;;
+	/* xen heap is also identity mapped */
+	mov r16 = IA64_TR_XEN_HEAP_REGS  
+	dep r17=-1,loc6,60,4
+	;;
+	ptr.d r17,r24
+	;;
+	mov cr.ifa=r17
+	;;
+	itr.d dtr[r16]=r18
+	;;
 	// re-pin mappings for stack (current)
 
 	// unless overlaps with KERNEL_TR
