-* malloc() needs to block until memory is available?
+* Write, test join.
-* 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.
+
+* 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.
+
+* 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