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 |
|
|
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 |
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 |
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 |
|
|
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, |
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) |
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? |
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 |
|
|