Index: kernel/arch/amd64/src/mm/page.c
===================================================================
--- kernel/arch/amd64/src/mm/page.c	(revision adf7f9cb0ccd66823096c3d1e336e84747a1be4a)
+++ kernel/arch/amd64/src/mm/page.c	(revision deaa22f01020fc8d432df92b990024d02d453083)
@@ -100,11 +100,13 @@
 		 *   because some are needed for init )
 		 */
-		for (cur = PA2KA_CODE(0); cur < config.base+config.kernel_size; cur += FRAME_SIZE) {
+		for (cur = PA2KA_CODE(0); cur < config.base + config.kernel_size; cur += FRAME_SIZE)
 			page_mapping_insert(AS_KERNEL, cur, KA2PA(cur), identity_flags);
-		}
-		for (i=0; i < init.cnt; i++) {
-			for (cur=init.tasks[i].addr;cur < init.tasks[i].size; cur += FRAME_SIZE) {
+		
+		for (cur = config.stack_base; cur < config.stack_base + config.stack_size; cur += FRAME_SIZE)
+			page_mapping_insert(AS_KERNEL, cur, KA2PA(cur), identity_flags);
+		
+		for (i = 0; i < init.cnt; i++) {
+			for (cur = init.tasks[i].addr; cur < init.tasks[i].addr + init.tasks[i].size; cur += FRAME_SIZE)
 				page_mapping_insert(AS_KERNEL, PA2KA_CODE(KA2PA(cur)), KA2PA(cur), identity_flags);
-			}
 		}
 
Index: kernel/arch/xen32/src/xen32.c
===================================================================
--- kernel/arch/xen32/src/xen32.c	(revision adf7f9cb0ccd66823096c3d1e336e84747a1be4a)
+++ kernel/arch/xen32/src/xen32.c	(revision deaa22f01020fc8d432df92b990024d02d453083)
@@ -34,4 +34,5 @@
 
 #include <arch.h>
+#include <main/main.h>
 
 #include <arch/types.h>
