Index: arch/ia64/include/mm/page.h
===================================================================
--- arch/ia64/include/mm/page.h	(revision d0780b4c5091872c808a02941fb7b5bb5e5276d1)
+++ arch/ia64/include/mm/page.h	(revision d4efc19a62ad2481c255b0b5c088c22486cfecbe)
@@ -61,5 +61,4 @@
 #define VRN_SHIFT			61
 #define VRN_MASK			(7LL << VRN_SHIFT)
-
 #define VRN_KERNEL	 		0
 #define REGION_REGISTERS 		8
@@ -67,6 +66,7 @@
 #define VHPT_WIDTH 			20         	/* 1M */
 #define VHPT_SIZE 			(1<<VHPT_WIDTH)
-
 #define VHPT_BASE 			page_ht		/* Must be aligned to VHPT_SIZE */
+
+#define PTA_BASE_SHIFT			15
 
 /** Memory Attributes. */
Index: arch/ia64/src/mm/page.c
===================================================================
--- arch/ia64/src/mm/page.c	(revision d0780b4c5091872c808a02941fb7b5bb5e5276d1)
+++ arch/ia64/src/mm/page.c	(revision d4efc19a62ad2481c255b0b5c088c22486cfecbe)
@@ -101,5 +101,5 @@
 	pta.map.vf = 1;                   /* large entry format */
 	pta.map.size = VHPT_WIDTH;
-	pta.map.base = (__address) page_ht;
+	pta.map.base = ((__address) page_ht) >> PTA_BASE_SHIFT;
 	pta_write(pta.word);
 	srlz_i();
