Revise makefile structure.
[pintos-anon] / src / TODO
index 72126d5c71570d32152c0db69403107ccd4adec8..f3f6d0759fbd6961ec73a50116314c346f6371fa 100644 (file)
--- a/src/TODO
+++ b/src/TODO
@@ -1,7 +1,64 @@
-* malloc() needs to block until memory is available?
+* Get rid of names for synch primitives?  They increase the size of
+  each one by 16 bytes and are probably not that useful.
+  Alternatively make the names pointers?
 
-* Should we use a task gate for hardware interrupts?  Then we could
-  dedicate a stack to interrupt handling and not worry about interrupt
-  usage of kernel stacks.
+* Write, test user programs.
+  - addrspace_load() should return thread's esp.
+  - thread_execute() shouldn't panic on failure (!).
+
+* Figure out PD/PT management API.
+  - We should document what's in mmu.h.  
+  - pagedir.[ch] is undocumented.
+
+* Write, test VM.
+
+* Implement `jitter'.
+
+* Test list, hash ADTs.
+
+* Compile and install gdb, dbg versions.
+  - Test gdb version.
+
+* References/bibliography.
+  - Userprog refers to [SysV-i386].
+
+* Write "tour".
+
+----------------------------------------------------------------------
+
+* Cygwin support:
+  - PE linker scripts?  Doesn't seem to support ELF ones.
+  - .S files need _ prefixes on symbols.
 
 * Filesystem dumps should include filehdrs?
+
+* Cross-compile notes:
+
+cd /tmp
+bzcat ~/binutils-2.15.tar.bz2 | tar x
+tar xzf newlib-1.12.0.tar.gz
+tar xzf gcc-core-3.3.2.tar.gz
+tar xzf gdb-6.2.1.tar.gz
+
+PATH=$PATH:/usr/class/cs140/i386/bin
+
+cd /tmp/binutils-2.15
+mkdir i386
+cd i386
+../configure --target=i386-elf --prefix=/usr/class/cs140/i386
+make LDFLAGS=-lintl
+make install
+
+cd /tmp/gcc-core-3.3.2.tar.gz
+mkdir i386
+cd i386
+../configure --target=i386-elf --prefix=/usr/class/cs140/i386 --with-gnu-as --with-as=/usr/class/cs140/i386/bin/i386-elf-as --with-gnu-ld --with-ld=/usr/class/cs140/i386/bin/i386-elf-ld --with-headers=/tmp/newlib-1.12.0/newlib/libc/include --with-newlib
+make
+make install
+
+cd /tmp/gdb-6.2.1
+mkdir i386
+cd i386
+../configure --target=i386-elf --prefix=/usr/class/cs140/i386 --disable-tui
+make
+make install