-* malloc() needs to block until memory is available?
+* userprog should mention that keyboard over serial doesn't work
-* 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.
+* 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?
+
+* 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?
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 /tmp/gcc-core-3.3.2.tar.gz
mkdir i386
cd i386
-PATH=$PATH:/usr/class/cs140/i386/bin ../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
-PATH=$PATH:/usr/class/cs140/i386/bin make
+../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