Index: arch/ia32/src/asm.S
===================================================================
--- arch/ia32/src/asm.S	(revision b07769b60d28ebef7ed6f9ae8366f444e8ecc7fa)
+++ arch/ia32/src/asm.S	(revision f4a61effdafe71895306f6647d2e9b8e081603dc)
@@ -380,8 +380,5 @@
 	mov %ax,%gs;
 0:
-#	movl $0xdeadbeaf, %eax
-  int $48
-	cli;
-	sti;
+	int $48
 	jmp 0b
 	# not reached
Index: arch/ia32/src/interrupt.c
===================================================================
--- arch/ia32/src/interrupt.c	(revision b07769b60d28ebef7ed6f9ae8366f444e8ecc7fa)
+++ arch/ia32/src/interrupt.c	(revision f4a61effdafe71895306f6647d2e9b8e081603dc)
@@ -83,5 +83,5 @@
 	printf("%%eax=%L, %%ebx=%L, %%ecx=%L, %%edx=%L,\n%%edi=%L, %%esi=%L, %%ebp=%L, %%esp=%L\n", stack[-2], stack[-5], stack[-3], stack[-4], stack[-9], stack[-8], stack[-1], stack);
 	printf("stack: %X, %X, %X, %X\n", stack[4], stack[5], stack[6], stack[7]);
-	//panic("general protection fault\n");
+	panic("general protection fault\n");
 	stack[1]++;
 }
Index: src/mm/vm.c
===================================================================
--- src/mm/vm.c	(revision b07769b60d28ebef7ed6f9ae8366f444e8ecc7fa)
+++ src/mm/vm.c	(revision f4a61effdafe71895306f6647d2e9b8e081603dc)
@@ -49,5 +49,5 @@
 {
 	vm_t *m;
-	
+
 	m = (vm_t *) malloc(sizeof(vm_t));
 	if (m) {
@@ -59,15 +59,17 @@
 		 * It is either passed one or it has to allocate and set one up.
 		 */
-		if (!(m->ptl0 = ptl0)) {
+		m->ptl0 = ptl0;
+		if (!m->ptl0) {
 			pte_t *src_ptl0, *dst_ptl0;
 		
-			src_ptl0 = (pte_t *) PA2KA(GET_PTL0_ADDRESS());
+			src_ptl0 = (pte_t *) PA2KA((__address) GET_PTL0_ADDRESS());
 			dst_ptl0 = (pte_t *) frame_alloc(FRAME_KA | FRAME_PANIC);
-			memsetb((__address) dst_ptl0, PAGE_SIZE, 0);
-			memcopy((__address) &src_ptl0[KAS_START_INDEX], (__address) &dst_ptl0[KAS_START_INDEX], KAS_INDICES*sizeof(pte_t));
-			m->ptl0 = (pte_t *) KA2PA(dst_ptl0);
+//			memsetb((__address) dst_ptl0, PAGE_SIZE, 0);
+//			memcopy((__address) &src_ptl0[KAS_START_INDEX], (__address) &dst_ptl0[KAS_START_INDEX], KAS_INDICES*sizeof(pte_t));
+			memcopy(PA2KA((__address) GET_PTL0_ADDRESS()), (__address) dst_ptl0, PAGE_SIZE);
+			m->ptl0 = (pte_t *) KA2PA((__address) dst_ptl0);
 		}
 	}
-	
+
 	return m;
 }
