This page is a collection of tasks needed for the Babylon project and
are in no particular order. They are grouped by subsystem and are generally
arranged in order of increasing difficulty level. If you are interested in
working on one of these items please email
babylon@csua.berkeley.edu
so we do not duplicate any work.
VMIPS
- Add block device
- Write a replacement for the spim console that uses only one
irq and allows more terminals.
- Support multiple simulated CPUs. Please talk to us before working
on this as there are subtle design issues.
- Ethernet device with support for simulated CPUs on different
machines communicating.
- Use
GNU Lightning
and the ideas from
Embra
to dynamically translate MIPS code to native code.
- Repackage VMIPS with binutils, gcc, and gdb so users simply
compile and install one package for Babylon development.
Miscellaneous
- Discover the necessary magic to make emacs always use eight
space tabs for source files in
*/babylon/source/* and add this to the
set of default configuration files in
configuration/.
- Function to print useful debugging information about malloc
memory usage using the malloc_type records.
- Add mechanism to automatically generate the system call table.
Look at the FreeBSD and NetBSD
sys/syscall.master
for inspiration, but Babylon doesn't need all these features.
- Look at FreeBSD's
ash or another simple
shell and determine the minimum number of system calls needed to
port it to the Babylon kernel.
Update: brg has done this, the list of system calls will
be uploaded shortly.
File system
Almost all aspects of the file system are not implemented yet.
- Add VFS layer
- Add file name lookup
Virtual memory
Almost all aspects of the virtual memory system are not implemented yet.
- Segment tables
- Fork / exec
- Copy on write
Web Page
- Use CSS to display eight space tabs for
<code> segments.
- Add mailing list archives and automated archiving.
Last update $Date: 2002/04/11 22:56:39 $