Index: kernel/arch/amd64/src/mm/page.c
===================================================================
--- kernel/arch/amd64/src/mm/page.c	(revision 80bcaed11c2e767559657092d6c13d1a7fdd449c)
+++ kernel/arch/amd64/src/mm/page.c	(revision 7cb567cd74caf371a5b1b053095a12b9bd1704a6)
@@ -84,5 +84,5 @@
 	uintptr_t cur;
 	int i;
-	int identity_flags = PAGE_CACHEABLE | PAGE_EXEC | PAGE_GLOBAL;
+	int identity_flags = PAGE_CACHEABLE | PAGE_EXEC | PAGE_GLOBAL | PAGE_WRITE;
 
 	if (config.cpu_active == 1) {
@@ -113,8 +113,6 @@
 		exc_register(14, "page_fault", (iroutine) page_fault);
 		write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
-	}
-	else {
+	} else 
 		write_cr3((uintptr_t) AS_KERNEL->genarch.page_table);
-	}
 }
 
@@ -209,5 +207,5 @@
 	pfn_t i;
 	for (i = 0; i < ADDR2PFN(ALIGN_UP(size, PAGE_SIZE)); i++)
-		page_mapping_insert(AS_KERNEL, virtaddr + PFN2ADDR(i), physaddr + PFN2ADDR(i), PAGE_NOT_CACHEABLE);
+		page_mapping_insert(AS_KERNEL, virtaddr + PFN2ADDR(i), physaddr + PFN2ADDR(i), PAGE_NOT_CACHEABLE | PAGE_WRITE);
 	
 	last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE);
