Reinitialize paging in C
diff --git a/src/kernel/boot.s b/src/kernel/boot.s
index a65e2d8..d80261a 100644
--- a/src/kernel/boot.s
+++ b/src/kernel/boot.s
@@ -18,9 +18,9 @@
 
 	[section .data align = 0x1000]
 page_directory:	
-	dd 0b010000011		; Identity map first 4 megs
+	dd 0b010000011				; Identity map first 4 megs
 	times (KERNEL_PAGE_NUMBER - 1) dd 0
-	dd 0b010000011 ; Map kernel memory to zero page too 
+	dd 0b010000011 				; Map kernel memory to zero page too 
 	times (1024 - KERNEL_PAGE_NUMBER - 1) dd 0
 
 	[bits 32]
@@ -66,10 +66,14 @@
 
 	mov esp, (stack + STACK_SIZE)
 	
-	push ebx					; Holds multiboot header location, PHYSICAL addr
+	add ebx, 0xC0000000			; Translate to virtual address
+	push ebx					; Holds multiboot header location
 	call kmain
-	jmp $
 
+.end:
+	hlt
+	jmp .end
+	
 
 	[section .bss align = 32]
 stack: