Index: arch/ia64/include/mm/page.h
===================================================================
--- arch/ia64/include/mm/page.h	(revision 13fded3cce867db5468e1ff56db5579e305d2120)
+++ arch/ia64/include/mm/page.h	(revision 8c0d6929ab0f745534bc645600b4dbe08484b298)
@@ -49,4 +49,73 @@
 #define HT_SET_RECORD_ARCH(t, page, asid, frame, flags)
 
+struct VHPT_tag_info
+{
+	unsigned long long tag       :63;
+	unsigned           ti        : 1;
+}__attribute__ ((packed));
+
+union VHPT_tag
+{
+	struct VHPT_tag_info tag_info;
+	unsigned             tag_word;
+};
+
+struct VHPT_entry_present
+{
+
+	/* Word 0 */
+	unsigned p              : 1;
+	unsigned rv0            : 1;
+	unsigned ma             : 3;
+	unsigned a              : 1;
+	unsigned d              : 1;
+	unsigned pl             : 2;
+	unsigned ar             : 3;
+	unsigned long long ppn  :38;
+	unsigned rv1            : 2;
+	unsigned ed             : 1;
+	unsigned ig1            :11;
+	
+	/* Word 1 */
+	unsigned rv2            : 2;
+	unsigned ps             : 6;
+	unsigned key            :24;
+	unsigned rv3            :32;
+	
+	/* Word 2 */
+	union VHPT_tag tag;       /*This data is here as union because I'm not sure if anybody nead access to areas ti and tag in VHPT entry*/
+                            /* But I'm almost sure we nead access to whole word so there are both possibilities*/
+	/* Word 3 */													
+	unsigned long long next :64;
+	
+}__attribute__ ((packed));
+
+struct VHPT_entry_not_present
+{
+	/* Word 0 */
+	unsigned p              : 1;
+	unsigned long long ig0  :52;
+	unsigned ig1            :11;
+	
+	/* Word 1 */
+	unsigned rv2            : 2;
+	unsigned ps             : 6;
+	unsigned long long ig2  :56;
+
+	
+	/* Word 2 */
+	union VHPT_tag tag;       /*This data is here as union because I'm not sure if anybody nead access to areas ti and tag in VHPT entry*/
+                            /* But I'm almost sure we nead access to whole word so there are both possibilities*/
+	/* Word 3 */													
+	unsigned long long next :64;
+	
+}__attribute__ ((packed));
+
+typedef union VHPT_entry 
+{
+	struct VHPT_entry_present        present;
+	struct VHPT_entry_not_present    not_present;
+}VHPT_entry;
+
 extern void page_arch_init(void);
 
