Randomize the bits that bitmap_scan() returns, to make student errors
[pintos-anon] / src / threads / init.c
index a899921d953aef64ba2c88b01e8a15cece263278..ef82cb192083e398f1c859a2faaf403a8c35ff8e 100644 (file)
@@ -16,8 +16,8 @@
 #include "threads/io.h"
 #include "threads/loader.h"
 #include "threads/malloc.h"
-#include "threads/mmu.h"
 #include "threads/palloc.h"
+#include "threads/pte.h"
 #include "threads/thread.h"
 #ifdef USERPROG
 #include "userprog/process.h"
@@ -90,6 +90,9 @@ main (void)
   argv = read_command_line ();
   argv = parse_options (argv);
 
+  /* Set random seed if parse_options() didn't. */
+  random_init (0);
+
   /* Initialize memory system. */
   palloc_init ();
   malloc_init ();
@@ -101,9 +104,6 @@ main (void)
   gdt_init ();
 #endif
 
-  /* Set random seed if parse_options() didn't. */
-  random_init (0);
-
   /* Initialize interrupt handlers. */
   intr_init ();
   timer_init ();
@@ -188,7 +188,8 @@ paging_init (void)
   /* Store the physical address of the page directory into CR3
      aka PDBR (page directory base register).  This activates our
      new page tables immediately.  See [IA32-v2a] "MOV--Move
-     to/from Control Registers" and [IA32-v3] 3.7.5. */
+     to/from Control Registers" and [IA32-v3a] 3.7.5 "Base Address
+     of the Page Directory". */
   asm volatile ("movl %0, %%cr3" :: "r" (vtop (base_page_dir)));
 }
 
@@ -253,7 +254,6 @@ parse_options (char **argv)
 #endif
       else
         PANIC ("unknown option `%s' (use -h for help)", name);
-
     }
   
   return argv;