Index: xen-unstable.hg/xen/arch/ia64/xen/xenasm.S
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/xen/xenasm.S	2007-12-05 11:30:01.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/xen/xenasm.S	2007-12-05 11:30:02.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,58,1
+	;;
+	ptr.d r17,r24
+	;;
+	mov cr.ifa=r17
+	;;
+	itr.d dtr[r16]=r18
+	;;
 	// re-pin mappings for stack (current)
 
 	// unless overlaps with KERNEL_TR
Index: xen-unstable.hg/xen/include/asm-ia64/xensystem.h
===================================================================
--- xen-unstable.hg.orig/xen/include/asm-ia64/xensystem.h	2007-12-05 11:29:56.000000000 +0900
+++ xen-unstable.hg/xen/include/asm-ia64/xensystem.h	2007-12-05 11:30:02.000000000 +0900
@@ -30,7 +30,7 @@
 
 #define XEN_VIRT_UC_BIT	 57
 
-#define KERNEL_START		 0xf000000004000000
+#define KERNEL_START		 0xf400000004000000
 #define GATE_ADDR		 KERNEL_START
 
 /* In order for Kexec between Xen and Linux to work EFI needs
