X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Finit.c;h=458f67cb2bbd7a7424950d8a219c9f08747c30f8;hb=9750868b9c1fc53f2ac25bd7fe0f6152cc55ff03;hp=ef82cb192083e398f1c859a2faaf403a8c35ff8e;hpb=468f548e6848498767eb6ac7b55ab9bca06de462;p=pintos-anon diff --git a/src/threads/init.c b/src/threads/init.c index ef82cb1..458f67c 100644 --- a/src/threads/init.c +++ b/src/threads/init.c @@ -9,6 +9,7 @@ #include #include #include "devices/kbd.h" +#include "devices/input.h" #include "devices/serial.h" #include "devices/timer.h" #include "devices/vga.h" @@ -46,7 +47,7 @@ uint32_t *base_page_dir; bool enable_mlfqs; #ifdef FILESYS -/* -f: Format the filesystem? */ +/* -f: Format the file system? */ static bool format_filesys; #endif @@ -108,6 +109,7 @@ main (void) intr_init (); timer_init (); kbd_init (); + input_init (); #ifdef USERPROG exception_init (); syscall_init (); @@ -119,7 +121,7 @@ main (void) timer_calibrate (); #ifdef FILESYS - /* Initialize filesystem. */ + /* Initialize file system. */ disk_init (); filesys_init (format_filesys); #endif @@ -219,7 +221,10 @@ read_command_line (void) /* Print kernel command line. */ printf ("Kernel command line:"); for (i = 0; i < argc; i++) - printf (" %s", argv[i]); + if (strchr (argv[i], ' ') == NULL) + printf (" %s", argv[i]); + else + printf (" '%s'", argv[i]); printf ("\n"); return argv; @@ -362,7 +367,7 @@ usage (void) /* Powers down the machine we're running on, - as long as we're running on Bochs or qemu. */ + as long as we're running on Bochs or QEMU. */ void power_off (void) { @@ -380,6 +385,8 @@ power_off (void) for (p = s; *p != '\0'; p++) outb (0x8900, *p); + asm ("cli; hlt"); + printf ("still running...\n"); for (;;); }