Index: arch/amd64/src/mm/as.c
===================================================================
--- arch/amd64/src/mm/as.c	(revision 9ea8a7ca32a0148a8f388e6313b10d79946deda1)
+++ arch/amd64/src/mm/as.c	(revision 9ea8a7ca32a0148a8f388e6313b10d79946deda1)
@@ -0,0 +1,1 @@
+../../../ia32/src/mm/as.c
Index: arch/amd64/src/mm/page.c
===================================================================
--- arch/amd64/src/mm/page.c	(revision fc1e4f6fda536ab9535536af72ca0eb08473cd3f)
+++ arch/amd64/src/mm/page.c	(revision 9ea8a7ca32a0148a8f388e6313b10d79946deda1)
@@ -39,9 +39,6 @@
 #include <interrupt.h>
 
-static __address bootstrap_dba; 
-
 void page_arch_init(void)
 {
-	__address dba;
 	__address cur;
 
@@ -49,21 +46,16 @@
 		page_operations = &page_pt_operations;
 	
-		dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME, NULL);
-		memsetb(dba, PAGE_SIZE, 0);
-
-		bootstrap_dba = dba;
-
 		/*
 		 * PA2KA(identity) mapping for all frames.
 		 */
 		for (cur = 0; cur < last_frame; cur += FRAME_SIZE) {
-			page_mapping_insert(AS_KERNEL, PA2KA(cur), cur, PAGE_CACHEABLE | PAGE_EXEC, KA2PA(dba));
+			page_mapping_insert(AS_KERNEL, PA2KA(cur), cur, PAGE_CACHEABLE | PAGE_EXEC);
 		}
 
 		exc_register(14, "page_fault", page_fault);
-		write_cr3(KA2PA(dba));
+		write_cr3((__address) AS_KERNEL->page_table);
 	}
 	else {
-		write_cr3(KA2PA(bootstrap_dba));
+		write_cr3((__address) AS_KERNEL->page_table);
 	}
 }
