diff --git a/main.c b/main.c
index a6088cb5858df9fd3431b1481b8ae87dadbdc909..c8aa53a024a789ff02e8a9739e401005950b0262 100644
--- a/main.c
+++ b/main.c
@@ -41,7 +41,7 @@ void
 mainc(void)
 {
   cprintf("\ncpu%d: starting xv6\n\n", cpu->id);
-  kvmalloc();      // initialze the kernel page table
+  kvmalloc();      // initialize the kernel page table
   pinit();         // process table
   tvinit();        // trap vectors
   binit();         // buffer cache
diff --git a/user.h b/user.h
index 8280b2e2de69dcaf426aeb52f85a6a59a377caf4..431428c17bdc2d8e9d708cb05043f349dba2641e 100644
--- a/user.h
+++ b/user.h
@@ -21,6 +21,7 @@ int dup(int);
 int getpid();
 char* sbrk(int);
 int sleep(int);
+int uptime();
 
 // ulib.c
 int stat(char*, struct stat*);
diff --git a/vm.c b/vm.c
index 98ac10826f10b41bd53ca23cda6574922423ed02..ffdcab3bd047d89e14565600c7e358a1a9f280fa 100644
--- a/vm.c
+++ b/vm.c
@@ -375,8 +375,9 @@ vminit(void)
 
   lcr3(PADDR(kpgdir));
   cr0 = rcr0();
-  cr0 |= CR0_PE|CR0_PG|CR0_AM|CR0_WP|CR0_NE|CR0_TS|CR0_EM|CR0_MP;
-  cr0 &= ~(CR0_TS|CR0_EM);
+  // cr0 |= CR0_PE|CR0_PG|CR0_AM|CR0_WP|CR0_NE|CR0_TS|CR0_EM|CR0_MP;
+  // cr0 &= ~(CR0_TS|CR0_EM);
+  cr0 |= CR0_PG | CR0_WP;
   lcr0(cr0);
 }