projects
/
pintos-anon
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Comment.
[pintos-anon]
/
src
/
threads
/
init.c
diff --git
a/src/threads/init.c
b/src/threads/init.c
index 8ee50a2731b8730a2abef9caa4b88f747a8cce51..a624ef57edf02a2b3aa7b392e5a4fc37abded034 100644
(file)
--- a/
src/threads/init.c
+++ b/
src/threads/init.c
@@
-16,8
+16,8
@@
#include "threads/io.h"
#include "threads/loader.h"
#include "threads/malloc.h"
#include "threads/io.h"
#include "threads/loader.h"
#include "threads/malloc.h"
-#include "threads/mmu.h"
#include "threads/palloc.h"
#include "threads/palloc.h"
+#include "threads/pte.h"
#include "threads/thread.h"
#ifdef USERPROG
#include "userprog/process.h"
#include "threads/thread.h"
#ifdef USERPROG
#include "userprog/process.h"
@@
-45,15
+45,8
@@
uint32_t *base_page_dir;
If true, use multi-level feedback queue scheduler. */
bool enable_mlfqs;
If true, use multi-level feedback queue scheduler. */
bool enable_mlfqs;
-#ifdef VM
-/* -rndpg:
- If false (default), use LRU page replacement policy.
- If true, use random page replacement policy. */
-bool enable_random_paging;
-#endif
-
#ifdef FILESYS
#ifdef FILESYS
-/* -f: Format the filesystem? */
+/* -f: Format the file
system? */
static bool format_filesys;
#endif
static bool format_filesys;
#endif
@@
-97,6
+90,9
@@
main (void)
argv = read_command_line ();
argv = parse_options (argv);
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 ();
/* Initialize memory system. */
palloc_init ();
malloc_init ();
@@
-108,9
+104,6
@@
main (void)
gdt_init ();
#endif
gdt_init ();
#endif
- /* Set random seed if parse_options() didn't. */
- random_init (0);
-
/* Initialize interrupt handlers. */
intr_init ();
timer_init ();
/* Initialize interrupt handlers. */
intr_init ();
timer_init ();
@@
-126,7
+119,7
@@
main (void)
timer_calibrate ();
#ifdef FILESYS
timer_calibrate ();
#ifdef FILESYS
- /* Initialize filesystem. */
+ /* Initialize file
system. */
disk_init ();
filesys_init (format_filesys);
#endif
disk_init ();
filesys_init (format_filesys);
#endif
@@
-195,8
+188,9
@@
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
/* 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. */
- asm volatile ("mov %%cr3, %0" :: "r" (vtop (base_page_dir)));
+ 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)));
}
/* Breaks the kernel command line into words and returns them as
}
/* Breaks the kernel command line into words and returns them as
@@
-257,14
+251,9
@@
parse_options (char **argv)
#ifdef USERPROG
else if (!strcmp (name, "-ul"))
user_page_limit = atoi (value);
#ifdef USERPROG
else if (!strcmp (name, "-ul"))
user_page_limit = atoi (value);
-#endif
-#ifdef VM
- else if (!strcmp (name, "-rndpg"))
- enable_random_paging = true;
#endif
else
PANIC ("unknown option `%s' (use -h for help)", name);
#endif
else
PANIC ("unknown option `%s' (use -h for help)", name);
-
}
return argv;
}
return argv;
@@
-366,9
+355,6
@@
usage (void)
" -mlfqs Use multi-level feedback queue scheduler.\n"
#ifdef USERPROG
" -ul=COUNT Limit user memory to COUNT pages.\n"
" -mlfqs Use multi-level feedback queue scheduler.\n"
#ifdef USERPROG
" -ul=COUNT Limit user memory to COUNT pages.\n"
-#endif
-#ifdef VM
- " -rndpg Use random page replacement policy.\n"
#endif
);
power_off ();
#endif
);
power_off ();