/[gxemul]/trunk/TODO
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/TODO

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 35 by dpavlin, Mon Oct 8 16:21:17 2007 UTC revision 36 by dpavlin, Mon Oct 8 16:21:34 2007 UTC
# Line 1  Line 1 
1  $Id: TODO,v 1.453 2007/02/19 01:34:42 debug Exp $  $Id: TODO,v 1.464 2007/03/16 14:13:59 debug Exp $
2    
3  -------------------------------------------------------------------------------  -------------------------------------------------------------------------------
4    
5  Fix after the 0.4.4 release:  Landisk SH4:
6          Fix the PowerPC DECR interrupt speed!          HITTA OCH FIXA SH4-STABILITETSPROBLEMEN!
7            SH4 RTC, läs värdmaskinens klocka.
8            När NetBSD 4.0 och OpenBSD 4.1 kommit ut, uppdatera
9            installationsinstruktionerna i dokumentationen, flytta upp till
10            supportat OS (guestos & index).
11            Lägg till landisk i emulated machines i intro.html.
12            Sätt machine_landisk stable = 1, om/när allt funkar.
13    
14    Add a special function to the testmachine devices, console perhaps?
15    which prints a zero-terminated string like "[[ %s ]]\n" when given
16    a virtual memory address (or a physical? or perhaps both should be possible).
17            o) NOT to the console, but to the emulator's controlling terminal.
18               DEBUG output, not console output!
19            o) Very useful for debugging. DOCUMENT it!
20    
21    Fix the PowerPC DECR interrupt speed! (MacPPC and PReP speed, etc.)
22    
23    Prova att installera GNU Linux/DECstation _UTAN_
24    slow_serial_interrupts_hack_for_linux! Det kanske funkar med
25    nya interruptsystemet?
26    
27  -------------------------------------------------------------------------------  -------------------------------------------------------------------------------
28    
# Line 13  Possible (relatively large) work package Line 32  Possible (relatively large) work package
32          Get SMP working again. It is pretty much broken since I started          Get SMP working again. It is pretty much broken since I started
33          the conversion from the old bintrans system to the new dyntrans system.          the conversion from the old bintrans system to the new dyntrans system.
34          Add better Test machine demos for SMP in the demos directory.          Add better Test machine demos for SMP in the demos directory.
35            Either multiple dev_mp (one per cpu), or the single dev_mp must
36            _really_ keep all per-cpu values separate.
37    
38      x)  Alpha and SPARC emulation:
39            These are the next two CPU/machine families that I want to emulate.
40    
41    x)  Network:    x)  Network:
42          Redesign of the networking subsystem, at least the NAT translation          Redesign of the networking subsystem, at least the NAT translation
# Line 21  Possible (relatively large) work package Line 45  Possible (relatively large) work package
45          to allow the frames to be transmitted other ways as well.          to allow the frames to be transmitted other ways as well.
46          Also adding support for connecting ttys (either to xterms, or to          Also adding support for connecting ttys (either to xterms, or to
47          pipes/sockets etc, or even to PPP->NAT or SLIP->NAT :-).          pipes/sockets etc, or even to PPP->NAT or SLIP->NAT :-).
48            Documentation updates (!) are very important, making it easier to
49            use the (already existing) network emulation features.
50    
51    x)  PCI:    x)  PCI:
52          Pretty much everything related to runtime configuration, device          Pretty much everything related to runtime configuration, device
53          slots, interrupts, whatever. The current code is very hardcoded          slots, interrupts, whatever. The current code is very hardcoded
54          and ugly.          and ugly.
55            o) Allow cards to be added/removed during runtime more easily.
56            o) Allow cards to be enabled/disabled (i/o ports, etc, like
57               NetBSD needs for disk controller detection).
58            o) Allow devices to be moved in memory during runtime.
59            o) Interrupts per PCI slot, etc. (A-D).
60            o) PCI interrupt controller logic... very hard to get right,
61               because these differ a lot from one machine to the next.
62    
63    x)  Debugging:    x)  Debugging:
64          Think more about SMP debugging, etc. Right now, the          Think more about SMP debugging, etc. Right now, the
# Line 35  Possible (relatively large) work package Line 68  Possible (relatively large) work package
68    x)  Userland emulation:    x)  Userland emulation:
69          Primary goals would be NetBSD and Linux syscall emulation.          Primary goals would be NetBSD and Linux syscall emulation.
70    
71      x)  Variable-length ISA support:
72            The support for emulation of variable length ISAs (such as
73            M68K, AMD64/i386, or AVR32) is not really there yet. It would
74            be very fun to work on this, to get it right.
75    
76      x)  Native code generation backends.
77            Not necessary to have the emulator working, but speed is
78            always nice to have.
79    
80      x)  Remove all "addr mult" device support!
81            Long term goal. Replace the current hacks with address
82            multiplication _per device_ with layered devices, so that the
83            end device (wdc, ns16550, whatever) only supports one access
84            style, and the layers in between convert to 16/32/64-bit
85            word alignment.
86    
87  And of course, there are _LOTS_ of minor TODOs spread out throughout  And of course, there are _LOTS_ of minor TODOs spread out throughout
88  the source code, which must be fixed sooner or later.  the source code, which must be fixed sooner or later.
89    
# Line 55  Dyntrans: Line 104  Dyntrans:
104              kludgy very fast.)              kludgy very fast.)
105          x)  Dyntrans with SMP... lots of work to be done here.          x)  Dyntrans with SMP... lots of work to be done here.
106          x)  Dyntrans with cache emulation... lots of work here as well.          x)  Dyntrans with cache emulation... lots of work here as well.
107            x)  Remove the concept of base RAM completely; it would be more
108                generic to allow RAM devices to be used "anywhere".
109          o)  dev_mp doesn't work well with dyntrans yet          o)  dev_mp doesn't work well with dyntrans yet
110          o)  In general, IPIs, CAS, LL/SC etc must be made to work with dyntrans          o)  In general, IPIs, CAS, LL/SC etc must be made to work with dyntrans
111          x)  Redesign/rethink the delay slot mechanism used for e.g. MIPS,          x)  Redesign/rethink the delay slot mechanism used for e.g. MIPS,
# Line 135  MIPS: Line 186  MIPS:
186                      register definitions according to http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/hdwr/bks/SGI_Developer/books/R10K_UM/sgi_html/t5.Ver.2.0.book_263.html#HEADING334                      register definitions according to http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/hdwr/bks/SGI_Developer/books/R10K_UM/sgi_html/t5.Ver.2.0.book_263.html#HEADING334
187                      and make sure everything works with R10000.                      and make sure everything works with R10000.
188                      Then test with OpenBSD/sgi?                      Then test with OpenBSD/sgi?
189                    x)  Entry LO mask (as above).
190                  x)  memory space, exceptions, ...                  x)  memory space, exceptions, ...
191                  x)  use cop0 framemask for tlb lookups                  x)  use cop0 framemask for tlb lookups
192                      (http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/hdwr/bks/SGI_Developer/books/R10K_UM/sgi_html/t5.Ver.2.0.book_284.html)                      (http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/hdwr/bks/SGI_Developer/books/R10K_UM/sgi_html/t5.Ver.2.0.book_284.html)
# Line 148  SuperH: Line 200  SuperH:
200              copy individual 32-bit words. (Performance improvement.)              copy individual 32-bit words. (Performance improvement.)
201          x)  SH4 BSC (Bus State Controller)          x)  SH4 BSC (Bus State Controller)
202          x)  SH4 RTC: Read the host's clock.          x)  SH4 RTC: Read the host's clock.
         x)  SH4 SCIF: Serial _interrupts_  
203          x)  Instruction tracing should include symbols for branch targets,          x)  Instruction tracing should include symbols for branch targets,
204              and so on, to make the output more human readable.              and so on, to make the output more human readable.
205          x)  NetBSD/evbsh3, dreamcast, mmeye, hpcsh! Linux?          x)  NetBSD/evbsh3, dreamcast, mmeye, hpcsh! Linux?
# Line 301  ARM: Line 352  ARM:
352          o)  try to get netbsd/evbarm 3.x or 4.x running (iq80321)          o)  try to get netbsd/evbarm 3.x or 4.x running (iq80321)
353          o)  make the xscale counter registers (ccnt) work          o)  make the xscale counter registers (ccnt) work
354          o)  make the ata controller usable for FreeBSD!          o)  make the ata controller usable for FreeBSD!
355          o)  Zaurus emulation, for e.g. OpenBSD/zaurus          o)  Zaurus emulation:
356                    x)  OpenBSD/zaurus
357                    x)  NetBSD/zaurus? See the following URL:
358                        http://mail-index.netbsd.org/port-arm/2006/11/19/0000.html
359          o)  Debian/cats crashes because of unimplemented coproc stuff.          o)  Debian/cats crashes because of unimplemented coproc stuff.
360              fix this?              fix this?
361    

Legend:
Removed from v.35  
changed lines
  Added in v.36

  ViewVC Help
Powered by ViewVC 1.1.26