Index: generic/include/elf.h
===================================================================
--- generic/include/elf.h	(revision 0ee077eebd24dbac6378f54e3bd21d1724ef54f3)
+++ generic/include/elf.h	(revision 00b595b1f3d16136f64efb0f31c35648430b4447)
@@ -32,5 +32,5 @@
 #include <arch/elf.h>
 #include <arch/types.h>
-#include <mm/as.h>
+#include <typedefs.h>
 
 /**
Index: generic/include/mm/as.h
===================================================================
--- generic/include/mm/as.h	(revision 0ee077eebd24dbac6378f54e3bd21d1724ef54f3)
+++ generic/include/mm/as.h	(revision 00b595b1f3d16136f64efb0f31c35648430b4447)
@@ -47,4 +47,5 @@
 #include <adt/list.h>
 #include <adt/btree.h>
+#include <elf.h>
 
 /** Defined to be true if user address space and kernel address space shadow each other. */
@@ -119,7 +120,13 @@
 
 /** Backend data stored in address space area. */
-typedef struct backend_data {
-	__native d1;
-	__native d2;
+typedef union {
+	struct {	/**< elf_backend members */
+		elf_header_t *elf;
+		elf_segment_header_t *segment;
+	};
+	struct {	/**< phys_backend members */
+		__address base;
+		count_t frames;
+	};
 } mem_backend_data_t;
 
