X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2FTODO;h=89961e76e65169f074d181b4e6e3345e594a08bc;hb=2954eea99520a7585b4419c78771a6f341937ef3;hp=72126d5c71570d32152c0db69403107ccd4adec8;hpb=f1516057da5811ae175b2ec9b511c83125993cb9;p=pintos-anon diff --git a/src/TODO b/src/TODO index 72126d5..89961e7 100644 --- a/src/TODO +++ b/src/TODO @@ -1,7 +1,66 @@ -* 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? + +* 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