Index: kernel/generic/include/mm/as.h
===================================================================
--- kernel/generic/include/mm/as.h	(revision a6e55886e5b1f65fd811c2f746803ba53f061518)
+++ kernel/generic/include/mm/as.h	(revision 279188c06352e8625cf73d1e32e3d8f3758aa8d1)
@@ -46,4 +46,5 @@
 #include <adt/list.h>
 #include <adt/btree.h>
+#include <adt/odict.h>
 #include <lib/elf.h>
 #include <arch.h>
@@ -115,6 +116,9 @@
 	mutex_t lock;
 
-	/** B+tree of address space areas. */
-	btree_t as_area_btree;
+	/** Address space areas in this address space by base address.
+	 *
+	 * Members are of type as_area_t.
+	 */
+	odict_t as_areas;
 
 	/** Non-generic content. */
@@ -204,4 +208,7 @@
 	as_t *as;
 
+	/** Link to @c as->as_areas */
+	odlink_t las_areas;
+
 	/** Memory flags. */
 	unsigned int flags;
@@ -273,4 +280,6 @@
     uintptr_t *, uintptr_t);
 extern errno_t as_area_change_flags(as_t *, unsigned int, uintptr_t);
+extern as_area_t *as_area_first(as_t *);
+extern as_area_t *as_area_next(as_area_t *);
 
 extern unsigned int as_area_get_flags(as_area_t *);
