diff --git a/examples/bubsort.o b/examples/bubsort.o new file mode 100644 index 0000000000000000000000000000000000000000..f50ac625b4483076d21a14f479fe15f1a515414f Binary files /dev/null and b/examples/bubsort.o differ diff --git a/examples/cat.o b/examples/cat.o new file mode 100644 index 0000000000000000000000000000000000000000..b8f41d84cfb564d225eb9c6e4265f38f3a644729 Binary files /dev/null and b/examples/cat.o differ diff --git a/examples/cmp.o b/examples/cmp.o new file mode 100644 index 0000000000000000000000000000000000000000..99f1833f90233a69ffd0f7588b9384ca1a788e9a Binary files /dev/null and b/examples/cmp.o differ diff --git a/examples/cp.o b/examples/cp.o new file mode 100644 index 0000000000000000000000000000000000000000..76ed0ccfc475c109805390e005a64f9b74a09da2 Binary files /dev/null and b/examples/cp.o differ diff --git a/examples/echo.o b/examples/echo.o new file mode 100644 index 0000000000000000000000000000000000000000..24eba7d9fba6bf2100472ff78a3135739a01a73f Binary files /dev/null and b/examples/echo.o differ diff --git a/examples/halt.o b/examples/halt.o new file mode 100644 index 0000000000000000000000000000000000000000..49c1a708ba0d364a6e59ea6bd0ce51f803d406d1 Binary files /dev/null and b/examples/halt.o differ diff --git a/examples/hex-dump.o b/examples/hex-dump.o new file mode 100644 index 0000000000000000000000000000000000000000..31a97b0d4078f706b9404084556be7bb41a56a28 Binary files /dev/null and b/examples/hex-dump.o differ diff --git a/examples/insult.o b/examples/insult.o new file mode 100644 index 0000000000000000000000000000000000000000..c54133044b85029c65a89d0a543140042f5c0c5f Binary files /dev/null and b/examples/insult.o differ diff --git a/examples/lib/arithmetic.o b/examples/lib/arithmetic.o new file mode 100644 index 0000000000000000000000000000000000000000..f57dd9d1725c18f734614972c525d814d82915a8 Binary files /dev/null and b/examples/lib/arithmetic.o differ diff --git a/examples/lib/debug.o b/examples/lib/debug.o new file mode 100644 index 0000000000000000000000000000000000000000..5794e6776312203771f2eec9db9026a13e2f645c Binary files /dev/null and b/examples/lib/debug.o differ diff --git a/examples/lib/random.o b/examples/lib/random.o new file mode 100644 index 0000000000000000000000000000000000000000..a637e6e0c850b231cbf52d90e03d89a21a89e2d6 Binary files /dev/null and b/examples/lib/random.o differ diff --git a/examples/lib/stdio.o b/examples/lib/stdio.o new file mode 100644 index 0000000000000000000000000000000000000000..99d5de83bc86ca1654fc963ad57383abb902de3f Binary files /dev/null and b/examples/lib/stdio.o differ diff --git a/examples/lib/stdlib.o b/examples/lib/stdlib.o new file mode 100644 index 0000000000000000000000000000000000000000..c8b9dfab2fde895c9b85680e4abc0a4f73fc77b8 Binary files /dev/null and b/examples/lib/stdlib.o differ diff --git a/examples/lib/string.o b/examples/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..85898ff48040a1e67c21efb52cd0fa4f756f9d3f Binary files /dev/null and b/examples/lib/string.o differ diff --git a/examples/lib/user/console.o b/examples/lib/user/console.o new file mode 100644 index 0000000000000000000000000000000000000000..8fd8fddd10c90fe8134623267ebf2f11bb0eb890 Binary files /dev/null and b/examples/lib/user/console.o differ diff --git a/examples/lib/user/debug.o b/examples/lib/user/debug.o new file mode 100644 index 0000000000000000000000000000000000000000..44faf3fb0bf7376a5ccfc9e3571c1f855ad1cae1 Binary files /dev/null and b/examples/lib/user/debug.o differ diff --git a/examples/lib/user/entry.o b/examples/lib/user/entry.o new file mode 100644 index 0000000000000000000000000000000000000000..7491dce678478bd7c202f2d17b6f20a5388385f3 Binary files /dev/null and b/examples/lib/user/entry.o differ diff --git a/examples/lib/user/syscall.o b/examples/lib/user/syscall.o new file mode 100644 index 0000000000000000000000000000000000000000..0cc7f8d9d4fa7519efe84ffd3b36f7aa7c2a8499 Binary files /dev/null and b/examples/lib/user/syscall.o differ diff --git a/examples/lib/ustar.o b/examples/lib/ustar.o new file mode 100644 index 0000000000000000000000000000000000000000..3770c509894df4d4a679c8af13306d69c95712cf Binary files /dev/null and b/examples/lib/ustar.o differ diff --git a/examples/libc.a b/examples/libc.a new file mode 100644 index 0000000000000000000000000000000000000000..143581dbb2d61713bd2cac681003a3bd468cc5c4 Binary files /dev/null and b/examples/libc.a differ diff --git a/examples/lineup.o b/examples/lineup.o new file mode 100644 index 0000000000000000000000000000000000000000..afb56d37a53b72cf90338820249cc1ef8415deb0 Binary files /dev/null and b/examples/lineup.o differ diff --git a/examples/ls.o b/examples/ls.o new file mode 100644 index 0000000000000000000000000000000000000000..49bd3059c8f011d3b7bfdaeaf1cb5a0e7ee25f93 Binary files /dev/null and b/examples/ls.o differ diff --git a/examples/matmult.o b/examples/matmult.o new file mode 100644 index 0000000000000000000000000000000000000000..9723055153088952a05ea79596df9e375e0986eb Binary files /dev/null and b/examples/matmult.o differ diff --git a/examples/mcat.o b/examples/mcat.o new file mode 100644 index 0000000000000000000000000000000000000000..2f9ee1544cc62c305013a6cd1982ce991b820b4f Binary files /dev/null and b/examples/mcat.o differ diff --git a/examples/mcp.o b/examples/mcp.o new file mode 100644 index 0000000000000000000000000000000000000000..6745d2945527065faad8b283dad32da1de1a7180 Binary files /dev/null and b/examples/mcp.o differ diff --git a/examples/mkdir.o b/examples/mkdir.o new file mode 100644 index 0000000000000000000000000000000000000000..9a23d44b7a99fd0de0f5b1e78336e1c5636b550a Binary files /dev/null and b/examples/mkdir.o differ diff --git a/examples/my b/examples/my new file mode 100755 index 0000000000000000000000000000000000000000..426a07e0da199abd05f0cf5f7f156118af94bf55 Binary files /dev/null and b/examples/my differ diff --git a/examples/my.o b/examples/my.o new file mode 100644 index 0000000000000000000000000000000000000000..5652f716b1ef16ab3cb0ff403dca5aa73c8241e3 Binary files /dev/null and b/examples/my.o differ diff --git a/examples/pwd.o b/examples/pwd.o new file mode 100644 index 0000000000000000000000000000000000000000..f3d8c88409343050b84a4eb21bfeb50d3cfdde3a Binary files /dev/null and b/examples/pwd.o differ diff --git a/examples/recursor.o b/examples/recursor.o new file mode 100644 index 0000000000000000000000000000000000000000..fdc62b289cf355e2c9f4e8c779467b0b60098d65 Binary files /dev/null and b/examples/recursor.o differ diff --git a/examples/rm.o b/examples/rm.o new file mode 100644 index 0000000000000000000000000000000000000000..a70dc5223eb492aedca9cf52a9d4dbcec829db19 Binary files /dev/null and b/examples/rm.o differ diff --git a/examples/shell.o b/examples/shell.o new file mode 100644 index 0000000000000000000000000000000000000000..4a46e0bea7f9efca07c37650eaaf688503b7424c Binary files /dev/null and b/examples/shell.o differ diff --git a/userprog/process.c b/userprog/process.c index d51339a4aff8ec7aae340ae87035ef64358853fd..0f9e2d5c82dd0c3e737abf01a8a116dfeea474d7 100644 --- a/userprog/process.c +++ b/userprog/process.c @@ -38,6 +38,7 @@ process_execute (const char *file_name) return TID_ERROR; strlcpy (fn_copy, file_name, PGSIZE); + /* Create a new thread to execute FILE_NAME. */ tid = thread_create (file_name, PRI_DEFAULT, start_process, fn_copy); @@ -55,6 +56,9 @@ start_process (void *file_name_) struct intr_frame if_; bool success; + char *save_ptr; + file_name = strtok_r((char*) file_name," ",&save_ptr); + /* Initialize interrupt frame and load executable. */ memset (&if_, 0, sizeof if_); if_.gs = if_.fs = if_.es = if_.ds = if_.ss = SEL_UDSEG; @@ -102,7 +106,8 @@ process_exit (void) { struct thread *cur = thread_current (); uint32_t *pd; - + + printf ("echo:exit(%d)\n",0); /* Destroy the current process's page directory and switch back to the kernel-only page directory. */ pd = cur->pagedir; @@ -443,7 +448,7 @@ setup_stack (void **esp) { success = install_page (((uint8_t *) PHYS_BASE) - PGSIZE, kpage, true); if (success) { - *esp = PHYS_BASE; + *esp = PHYS_BASE - 12; } else palloc_free_page (kpage); } diff --git a/utils/setitimer-helper.o b/utils/setitimer-helper.o new file mode 100644 index 0000000000000000000000000000000000000000..5f1e077ebad2c9776990c37cfab507d7b531b768 Binary files /dev/null and b/utils/setitimer-helper.o differ diff --git a/utils/squish-pty.o b/utils/squish-pty.o new file mode 100644 index 0000000000000000000000000000000000000000..75a89b895f6996b4fdeaf775f7154cf08c015b7f Binary files /dev/null and b/utils/squish-pty.o differ diff --git a/utils/squish-unix.o b/utils/squish-unix.o new file mode 100644 index 0000000000000000000000000000000000000000..5b31aacb6c9f76126e0a4ef699dcb921fd4df5ad Binary files /dev/null and b/utils/squish-unix.o differ