X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=solutions%2Fp3.patch;h=f8d8591f6d3609cd037f8f6432cc372294a18277;hb=3b6ef3f86bdb454cca9a5ce62c1845f019dba46a;hp=773a7126009b26ec5caa17ef76675b18a68cc758;hpb=3f1ab89acd506bccd47bf9a3a764f0a9985bdaa7;p=pintos-anon diff --git a/solutions/p3.patch b/solutions/p3.patch index 773a712..f8d8591 100644 --- a/solutions/p3.patch +++ b/solutions/p3.patch @@ -1,7 +1,7 @@ Index: src/Makefile.build diff -u src/Makefile.build~ src/Makefile.build ---- src/Makefile.build~ 2005-06-18 20:20:47.000000000 -0700 -+++ src/Makefile.build 2006-05-16 13:44:56.000000000 -0700 +--- src/Makefile.build~ ++++ src/Makefile.build @@ -53,7 +53,9 @@ userprog_SRC += userprog/gdt.c # GDT in userprog_SRC += userprog/tss.c # TSS management. @@ -15,8 +15,8 @@ diff -u src/Makefile.build~ src/Makefile.build filesys_SRC = filesys/filesys.c # Filesystem core. Index: src/devices/timer.c diff -u src/devices/timer.c~ src/devices/timer.c ---- src/devices/timer.c~ 2005-07-06 13:45:36.000000000 -0700 -+++ src/devices/timer.c 2006-05-16 13:44:56.000000000 -0700 +--- src/devices/timer.c~ ++++ src/devices/timer.c @@ -23,6 +23,9 @@ static volatile int64_t ticks; Initialized by timer_calibrate(). */ static unsigned loops_per_tick; @@ -95,8 +95,8 @@ diff -u src/devices/timer.c~ src/devices/timer.c /* Returns true if LOOPS iterations waits for more than one timer Index: src/threads/init.c diff -u src/threads/init.c~ src/threads/init.c ---- src/threads/init.c~ 2006-04-25 11:35:56.000000000 -0700 -+++ src/threads/init.c 2006-05-16 13:44:56.000000000 -0700 +--- src/threads/init.c~ ++++ src/threads/init.c @@ -33,6 +33,8 @@ #include "filesys/filesys.h" #include "filesys/fsutil.h" @@ -118,8 +118,8 @@ diff -u src/threads/init.c~ src/threads/init.c /* Run actions specified on kernel command line. */ Index: src/threads/interrupt.c diff -u src/threads/interrupt.c~ src/threads/interrupt.c ---- src/threads/interrupt.c~ 2006-04-25 11:35:56.000000000 -0700 -+++ src/threads/interrupt.c 2006-05-16 13:44:56.000000000 -0700 +--- src/threads/interrupt.c~ ++++ src/threads/interrupt.c @@ -354,6 +354,8 @@ intr_handler (struct intr_frame *frame) in_external_intr = true; yield_on_return = false; @@ -131,8 +131,8 @@ diff -u src/threads/interrupt.c~ src/threads/interrupt.c If there is no handler, invoke the unexpected interrupt Index: src/threads/thread.c diff -u src/threads/thread.c~ src/threads/thread.c ---- src/threads/thread.c~ 2006-04-25 11:35:57.000000000 -0700 -+++ src/threads/thread.c 2006-05-16 13:44:56.000000000 -0700 +--- src/threads/thread.c~ ++++ src/threads/thread.c @@ -13,6 +13,7 @@ #include "threads/vaddr.h" #ifdef USERPROG @@ -227,8 +227,8 @@ diff -u src/threads/thread.c~ src/threads/thread.c Index: src/threads/thread.h diff -u src/threads/thread.h~ src/threads/thread.h ---- src/threads/thread.h~ 2006-04-13 13:53:34.000000000 -0700 -+++ src/threads/thread.h 2006-05-16 13:44:56.000000000 -0700 +--- src/threads/thread.h~ ++++ src/threads/thread.h @@ -2,8 +2,10 @@ #define THREADS_THREAD_H @@ -294,8 +294,8 @@ diff -u src/threads/thread.h~ src/threads/thread.h Index: src/userprog/exception.c diff -u src/userprog/exception.c~ src/userprog/exception.c ---- src/userprog/exception.c~ 2006-01-29 13:32:56.000000000 -0800 -+++ src/userprog/exception.c 2006-05-16 13:44:56.000000000 -0700 +--- src/userprog/exception.c~ ++++ src/userprog/exception.c @@ -4,6 +4,7 @@ #include "userprog/gdt.h" #include "threads/interrupt.h" @@ -324,8 +324,8 @@ diff -u src/userprog/exception.c~ src/userprog/exception.c not_present ? "not present" : "rights violation", Index: src/userprog/pagedir.c diff -u src/userprog/pagedir.c~ src/userprog/pagedir.c ---- src/userprog/pagedir.c~ 2006-04-25 11:35:58.000000000 -0700 -+++ src/userprog/pagedir.c 2006-05-16 13:44:56.000000000 -0700 +--- src/userprog/pagedir.c~ ++++ src/userprog/pagedir.c @@ -35,15 +35,7 @@ pagedir_destroy (uint32_t *pd) ASSERT (pd != base_page_dir); for (pde = pd; pde < pd + pd_no (PHYS_BASE); pde++) @@ -345,8 +345,8 @@ diff -u src/userprog/pagedir.c~ src/userprog/pagedir.c Index: src/userprog/process.c diff -u src/userprog/process.c~ src/userprog/process.c ---- src/userprog/process.c~ 2006-04-25 11:35:58.000000000 -0700 -+++ src/userprog/process.c 2006-05-16 13:44:56.000000000 -0700 +--- src/userprog/process.c~ ++++ src/userprog/process.c @@ -14,12 +14,26 @@ #include "threads/flags.h" #include "threads/init.h" @@ -808,8 +808,8 @@ diff -u src/userprog/process.c~ src/userprog/process.c } Index: src/userprog/syscall.c diff -u src/userprog/syscall.c~ src/userprog/syscall.c ---- src/userprog/syscall.c~ 2005-06-18 20:21:21.000000000 -0700 -+++ src/userprog/syscall.c 2006-05-16 14:17:02.000000000 -0700 +--- src/userprog/syscall.c~ ++++ src/userprog/syscall.c @@ -1,20 +1,598 @@ #include "userprog/syscall.h" #include @@ -817,7 +817,7 @@ diff -u src/userprog/syscall.c~ src/userprog/syscall.c #include +#include "userprog/process.h" +#include "userprog/pagedir.h" -+#include "devices/kbd.h" ++#include "devices/input.h" +#include "filesys/directory.h" +#include "filesys/filesys.h" +#include "filesys/file.h" @@ -1159,7 +1159,7 @@ diff -u src/userprog/syscall.c~ src/userprog/syscall.c + + for (i = 0; i < read_amt; i++) + { -+ char c = kbd_getc (); ++ char c = input_getc (); + if (!page_lock (udst, true)) + thread_exit (); + udst[i] = c; @@ -1414,8 +1414,8 @@ diff -u src/userprog/syscall.c~ src/userprog/syscall.c +} Index: src/userprog/syscall.h diff -u src/userprog/syscall.h~ src/userprog/syscall.h ---- src/userprog/syscall.h~ 2004-09-05 22:38:45.000000000 -0700 -+++ src/userprog/syscall.h 2006-05-16 13:44:56.000000000 -0700 +--- src/userprog/syscall.h~ ++++ src/userprog/syscall.h @@ -2,5 +2,6 @@ #define USERPROG_SYSCALL_H @@ -1425,8 +1425,8 @@ diff -u src/userprog/syscall.h~ src/userprog/syscall.h #endif /* userprog/syscall.h */ Index: src/vm/frame.c diff -u src/vm/frame.c~ src/vm/frame.c ---- src/vm/frame.c~ 1969-12-31 16:00:00.000000000 -0800 -+++ src/vm/frame.c 2006-05-16 13:44:56.000000000 -0700 +--- src/vm/frame.c~ ++++ src/vm/frame.c @@ -0,0 +1,162 @@ +#include "vm/frame.h" +#include @@ -1592,8 +1592,8 @@ diff -u src/vm/frame.c~ src/vm/frame.c +} Index: src/vm/frame.h diff -u src/vm/frame.h~ src/vm/frame.h ---- src/vm/frame.h~ 1969-12-31 16:00:00.000000000 -0800 -+++ src/vm/frame.h 2006-05-16 13:44:56.000000000 -0700 +--- src/vm/frame.h~ ++++ src/vm/frame.h @@ -0,0 +1,23 @@ +#ifndef VM_FRAME_H +#define VM_FRAME_H @@ -1620,8 +1620,8 @@ diff -u src/vm/frame.h~ src/vm/frame.h +#endif /* vm/frame.h */ Index: src/vm/page.c diff -u src/vm/page.c~ src/vm/page.c ---- src/vm/page.c~ 1969-12-31 16:00:00.000000000 -0800 -+++ src/vm/page.c 2006-05-16 13:44:56.000000000 -0700 +--- src/vm/page.c~ ++++ src/vm/page.c @@ -0,0 +1,293 @@ +#include "vm/page.h" +#include @@ -1918,8 +1918,8 @@ diff -u src/vm/page.c~ src/vm/page.c +} Index: src/vm/page.h diff -u src/vm/page.h~ src/vm/page.h ---- src/vm/page.h~ 1969-12-31 16:00:00.000000000 -0800 -+++ src/vm/page.h 2006-05-16 13:44:56.000000000 -0700 +--- src/vm/page.h~ ++++ src/vm/page.h @@ -0,0 +1,50 @@ +#ifndef VM_PAGE_H +#define VM_PAGE_H @@ -1973,8 +1973,8 @@ diff -u src/vm/page.h~ src/vm/page.h +#endif /* vm/page.h */ Index: src/vm/swap.c diff -u src/vm/swap.c~ src/vm/swap.c ---- src/vm/swap.c~ 1969-12-31 16:00:00.000000000 -0800 -+++ src/vm/swap.c 2006-05-16 13:44:56.000000000 -0700 +--- src/vm/swap.c~ ++++ src/vm/swap.c @@ -0,0 +1,85 @@ +#include "vm/swap.h" +#include @@ -2063,8 +2063,8 @@ diff -u src/vm/swap.c~ src/vm/swap.c +} Index: src/vm/swap.h diff -u src/vm/swap.h~ src/vm/swap.h ---- src/vm/swap.h~ 1969-12-31 16:00:00.000000000 -0800 -+++ src/vm/swap.h 2006-05-16 13:44:56.000000000 -0700 +--- src/vm/swap.h~ ++++ src/vm/swap.h @@ -0,0 +1,11 @@ +#ifndef VM_SWAP_H +#define VM_SWAP_H 1