Index: kernel/genarch/include/mm/as_ht.h
===================================================================
--- kernel/genarch/include/mm/as_ht.h	(revision 8be8cfa20aad57a15e51e9a83cf62a49af0b59a4)
+++ kernel/genarch/include/mm/as_ht.h	(revision b513b3ea9ad95f3a68a290eb116a64f7043323a1)
@@ -37,41 +37,15 @@
 
 #include <mm/mm.h>
-#include <arch/mm/asid.h>
 #include <adt/list.h>
-#include <adt/btree.h>
-#include <synch/mutex.h>
-
-/** Address space structure.
- *
- * as_t contains the list of as_areas of userspace accessible
- * pages for one or more tasks. Ranges of kernel memory pages are not
- * supposed to figure in the list as they are shared by all tasks and
- * set up during system initialization.
- */
-typedef struct {
-	/** Protected by asidlock. */
-	link_t inactive_as_with_asid_link;
-
-	mutex_t lock;
-
-	/** Number of references (i.e tasks that reference this as). */
-	count_t refcount;
-
-	/** Number of processors on wich is this address space active. */
-	count_t cpu_refcount;
-
-	/** B+tree of address space areas. */
-	btree_t as_area_btree;
-
-	/** Address space identifier. Constant on architectures that do not support ASIDs.*/
-	asid_t asid;
-	
-	/** Architecture specific content. */
-	as_arch_t arch;
-} as_t;
+#include <arch/types.h>
 
 typedef struct {
+} as_genarch_t;
+
+struct as;
+
+typedef struct pte {
 	link_t link;		/**< Page hash table link. */
-	as_t *as;		/**< Address space. */
+	struct as *as;		/**< Address space. */
 	uintptr_t page;		/**< Virtual memory page. */
 	uintptr_t frame;	/**< Physical memory frame. */
Index: kernel/genarch/include/mm/as_pt.h
===================================================================
--- kernel/genarch/include/mm/as_pt.h	(revision 8be8cfa20aad57a15e51e9a83cf62a49af0b59a4)
+++ kernel/genarch/include/mm/as_pt.h	(revision b513b3ea9ad95f3a68a290eb116a64f7043323a1)
@@ -37,42 +37,12 @@
 
 #include <mm/mm.h>
-#include <arch/mm/asid.h>
-#include <adt/list.h>
-#include <adt/btree.h>
-#include <synch/mutex.h>
+#include <arch/types.h>
 
 #define AS_PAGE_TABLE
 
-/** Address space structure.
- *
- * as_t contains the list of as_areas of userspace accessible
- * pages for one or more tasks. Ranges of kernel memory pages are not
- * supposed to figure in the list as they are shared by all tasks and
- * set up during system initialization.
- */
 typedef struct {
-	/** Protected by asidlock. */
-	link_t inactive_as_with_asid_link;
-
-	mutex_t lock;
-
-	/** Number of references (i.e tasks that reference this as). */
-	count_t refcount;
-
-	/** Number of processors on wich is this address space active. */
-	count_t cpu_refcount;
-
-	/** B+tree of address space areas. */
-	btree_t as_area_btree;
-	
 	/** Page table pointer. */
 	pte_t *page_table;
-
-	/** Address space identifier. Constant on architectures that do not support ASIDs.*/
-	asid_t asid;
-	
-	/** Architecture specific content. */
-	as_arch_t arch;
-} as_t;
+} as_genarch_t;
 
 #endif
Index: kernel/genarch/include/mm/page_ht.h
===================================================================
--- kernel/genarch/include/mm/page_ht.h	(revision 8be8cfa20aad57a15e51e9a83cf62a49af0b59a4)
+++ kernel/genarch/include/mm/page_ht.h	(revision b513b3ea9ad95f3a68a290eb116a64f7043323a1)
@@ -60,6 +60,4 @@
 #define PTE_EXECUTABLE(pte)	((pte)->x != 0)
 
-#define SET_PTL0_ADDRESS(x)
-
 extern as_operations_t as_ht_operations;
 extern page_mapping_operations_t ht_mapping_operations;
