--- trunk/TODO 2007/10/08 16:17:48 2 +++ trunk/TODO 2007/10/08 16:18:11 6 @@ -1,9 +1,8 @@ -$Id: TODO,v 1.125 2005/03/06 08:21:10 debug Exp $ +$Id: TODO,v 1.133 2005/05/25 06:40:16 debug Exp $ Here's a short list of what I have left to do on GXemul. This file is a mess. Order is random. Don't trust it to be up-to-date. - Caches / memory hierarchies: (this is mostly MIPS-specific) o) MIPS coproc.c: bits in config registers should reflect correct cache sizes for _all_ CPU types. (currently only @@ -50,6 +49,7 @@ +) on Alpha: don't assume pca56-like byte load/store? +) write backends for UltraSparc and MIPS +) see src/bintrans.c for more info + o) All the non-MIPS modes need a bit of work. MIPS CPU emulation: o) Instructions: @@ -127,17 +127,14 @@ x) Memory/interrupt controllers x) IP30 (Linux with graphics support?) x) SMP / NUMA? (SGI and various ARC machines) + o) Playstation 2: + Hardware: OHCI usb controller, keyboard, ... o) Cobalt: PCI and interrupt system, ethernet, harddisk controller(s) - o) Playstation 2: - Hardware: OHCI usb controller, keyboard, IDE, ... - Has an R3000A as a subsystem (!) - o) hpcmips: framebuffer(s) and harddisk controller, - among other things - o) newsmips: - o) NetBSD/newsmips, get it to detect a "real" - model, right now everything is 100% bogus o) Less interesting platforms: + o) newsmips: + o) NetBSD/newsmips, get it to detect a "real" + model, right now everything is 100% bogus o) mipsco? (NetBSD) o) wgrisc? (big endian R3000, in OpenBSD's attic) o) other embedded / evaluation MIPS boards @@ -145,12 +142,16 @@ No FPU, but something as coproc 2. o) Nintendo 64, http://www.nintendo.com/systems/n64/n64_specs.jsp (R4300, 4MB RAM, really weird memory map) + o) non-MIPS File/disk handling: + o) More than one type of disk in a machine (say, IDE + FLOPPY, + or SCSI + IDE); how to handle this nicely? o) Read function argument count and types from binaries? (ELF?) o) ELF: separate LE/BE (MIPS instruction format) from LSB/MSB (ELF structure format)? o) Better handling of tape files + o) gzip support (also for non-ISO9660 files) Userland ABI emulation: o) see src/useremul.c @@ -158,6 +159,11 @@ Terminal based interactive debugger: o) see src/debugger.c + Terminal/console stuff: + o) allow emulated serial ports to be connected to the outside + world in a more generic way, or even to other emulated + machines(!) + GDB interface? (Maybe not necessary; the built-in debugger feels more useful.)