Index: kernel/arch/ia32xen/include/mm/as.h
===================================================================
--- kernel/arch/ia32xen/include/mm/as.h	(revision df4ed852a2d1b242f9bdce0a873009a2cb77cec7)
+++ kernel/arch/ia32xen/include/mm/as.h	(revision 8e8c1a5a8422819c5ec8b1e633c4d302de9e5dd9)
@@ -48,4 +48,6 @@
 } as_arch_t;
 
+#include <genarch/mm/as_pt.h>
+
 #define as_constructor_arch(as, flags)		(as != as)
 #define as_destructor_arch(as)			(as != as)
Index: kernel/arch/ia32xen/include/mm/frame.h
===================================================================
--- kernel/arch/ia32xen/include/mm/frame.h	(revision df4ed852a2d1b242f9bdce0a873009a2cb77cec7)
+++ kernel/arch/ia32xen/include/mm/frame.h	(revision 8e8c1a5a8422819c5ec8b1e633c4d302de9e5dd9)
@@ -43,7 +43,4 @@
 #ifndef __ASM__
 
-#include <arch/types.h>
-#include <arch/boot/boot.h>
-
 #define PA2MA(x)	((start_info.pm_map[((uintptr_t) (x)) >> 12] << 12) + (((uintptr_t) (x)) & 0xfff))
 #define MA2PA(x)	((mp_map[((uintptr_t) (x)) >> 12] << 12) + (((uintptr_t) (x)) & 0xfff))
Index: kernel/arch/ia32xen/include/mm/memory_init.h
===================================================================
--- kernel/arch/ia32xen/include/mm/memory_init.h	(revision df4ed852a2d1b242f9bdce0a873009a2cb77cec7)
+++ kernel/arch/ia32xen/include/mm/memory_init.h	(revision 8e8c1a5a8422819c5ec8b1e633c4d302de9e5dd9)
@@ -37,5 +37,5 @@
 #define KERN_ia32xen_MEMORY_INIT_H_
 
-#include <typedefs.h>
+#include <arch/types.h>
 
 size_t get_memory_size(void);
Index: kernel/arch/ia32xen/include/mm/page.h
===================================================================
--- kernel/arch/ia32xen/include/mm/page.h	(revision df4ed852a2d1b242f9bdce0a873009a2cb77cec7)
+++ kernel/arch/ia32xen/include/mm/page.h	(revision 8e8c1a5a8422819c5ec8b1e633c4d302de9e5dd9)
@@ -122,9 +122,7 @@
 #ifndef __ASM__
 
-#include <mm/page.h>
-#include <arch/types.h>
-#include <arch/mm/frame.h>
-#include <typedefs.h>
+#include <mm/mm.h>
 #include <arch/hypercall.h>
+#include <arch/interrupt.h>
 
 /* Page fault error codes. */
@@ -141,20 +139,4 @@
 /** When bit on this position is 1, a reserved bit was set in page directory. */ 
 #define PFERR_CODE_RSVD		(1 << 3)
-
-/** Page Table Entry. */
-struct page_specifier {
-	unsigned present : 1;
-	unsigned writeable : 1;
-	unsigned uaccessible : 1;
-	unsigned page_write_through : 1;
-	unsigned page_cache_disable : 1;
-	unsigned accessed : 1;
-	unsigned dirty : 1;
-	unsigned pat : 1;
-	unsigned global : 1;
-	unsigned soft_valid : 1;	/**< Valid content even if the present bit is not set. */
-	unsigned avl : 2;
-	unsigned frame_address : 20;
-} __attribute__ ((packed));
 
 typedef struct {
