Index: kernel/arch/amd64/src/mm/page.c
===================================================================
--- kernel/arch/amd64/src/mm/page.c	(revision fa8e7d2eafc95dcfd4435b0ca55cbfb76b7b11b5)
+++ kernel/arch/amd64/src/mm/page.c	(revision 80bcaed11c2e767559657092d6c13d1a7fdd449c)
@@ -112,8 +112,8 @@
 
 		exc_register(14, "page_fault", (iroutine) page_fault);
-		write_cr3((uintptr_t) AS_KERNEL->page_table);
-	}
-	else {
-		write_cr3((uintptr_t) AS_KERNEL->page_table);
+		write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
+	}
+	else {
+		write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
 	}
 }
Index: kernel/arch/amd64/src/pm.c
===================================================================
--- kernel/arch/amd64/src/pm.c	(revision fa8e7d2eafc95dcfd4435b0ca55cbfb76b7b11b5)
+++ kernel/arch/amd64/src/pm.c	(revision 80bcaed11c2e767559657092d6c13d1a7fdd449c)
@@ -202,5 +202,5 @@
 		 * non boot-mapped pointer, initialize the CR3 register
 		 * ahead of page_init */
-		write_cr3((uintptr_t) AS_KERNEL->page_table);
+		write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
 
 		tss_p = (struct tss *) malloc(sizeof(tss_t), FRAME_ATOMIC);
Index: kernel/arch/ia32/src/mm/page.c
===================================================================
--- kernel/arch/ia32/src/mm/page.c	(revision fa8e7d2eafc95dcfd4435b0ca55cbfb76b7b11b5)
+++ kernel/arch/ia32/src/mm/page.c	(revision 80bcaed11c2e767559657092d6c13d1a7fdd449c)
@@ -69,8 +69,8 @@
 
 		exc_register(14, "page_fault", (iroutine) page_fault);
-		write_cr3((uintptr_t) AS_KERNEL->page_table);
+		write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
 	}
 	else {
-		write_cr3((uintptr_t) AS_KERNEL->page_table);
+		write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
 	}
 
Index: kernel/arch/ia32xen/src/mm/page.c
===================================================================
--- kernel/arch/ia32xen/src/mm/page.c	(revision fa8e7d2eafc95dcfd4435b0ca55cbfb76b7b11b5)
+++ kernel/arch/ia32xen/src/mm/page.c	(revision 80bcaed11c2e767559657092d6c13d1a7fdd449c)
@@ -54,7 +54,7 @@
 	if (config.cpu_active == 1) {
 		page_mapping_operations = &pt_mapping_operations;
-		AS_KERNEL->page_table = (pte_t *) KA2PA(start_info.ptl0);
+		AS_KERNEL->genarch.page_table = (pte_t *) KA2PA(start_info.ptl0);
 	} else
-		SET_PTL0_ADDRESS_ARCH(AS_KERNEL->page_table);
+		SET_PTL0_ADDRESS_ARCH(AS_KERNEL->genarch.page_table);
 }
 
Index: kernel/arch/sparc64/include/mm/tsb.h
===================================================================
--- kernel/arch/sparc64/include/mm/tsb.h	(revision fa8e7d2eafc95dcfd4435b0ca55cbfb76b7b11b5)
+++ kernel/arch/sparc64/include/mm/tsb.h	(revision 80bcaed11c2e767559657092d6c13d1a7fdd449c)
@@ -55,5 +55,4 @@
 #include <arch/mm/mmu.h>
 #include <arch/types.h>
-#include <mm/as.h>
 
 /** TSB Base register. */
@@ -109,7 +108,11 @@
 }
 
-extern void tsb_invalidate(as_t *as, uintptr_t page, count_t pages);
-extern void itsb_pte_copy(pte_t *t);
-extern void dtsb_pte_copy(pte_t *t, bool ro);
+/* Forward declarations. */
+struct as;
+struct pte;
+
+extern void tsb_invalidate(struct as *as, uintptr_t page, count_t pages);
+extern void itsb_pte_copy(struct pte *t);
+extern void dtsb_pte_copy(struct pte *t, bool ro);
 
 #endif /* !def __ASM__ */
