URL
https://opencores.org/ocsvn/eco32/eco32/trunk
Subversion Repositories eco32
[/] [eco32/] [trunk/] [TODO] - Rev 15
Go to most recent revision | Compare with Previous | Blame | View Log
Things To Do
------------
1) sim & fpga:
proper placement of disk buffer(s)
2) lcc:
Handle floating point operations more gracefully.
3) eos32/lib/src/stdio.c and eos32/kernel/klib.c:
Allow more formatting options in vprintf().
sim:
hrniels> 1. wenn man in dem cli einen tlb-miss auslöst, wird der zustand
geändert (tlb-bad-address)
<hrniels> 2. der timer setzt seine register bei einem reset nicht zurück
<hrniels> 3. beim dspkbd-device ist ein fehler. und zwar darf man in dem
keyboard-callback nicht die read-position in dem ring-buffer dort
weiterschieben, wenn der letzte scancode noch gar nicht gelesen wurde
<hrniels> 4. beim dspkbd sollte man auch den alpha-wert bei den pixeln
angeben. wenn man z.B. compiz verwendet, was das unterstützt, ist sonst
alles transparent :)
<hrniels> 5. die positionierung des fensters von dspkbd mit XCreateWindow
wird gerne mal vom window-manager ignoriert. daher sollte man am besten ein
XMoveWindow anschließend machen
<hrniels> das wars :)
<Konzai> klasse, ganz herzlichen dank!
<hrniels> kein problem
<Konzai> frage zu 1:
<Konzai> cli == command line interface?
ja
---------------------------------------------------
<hrniels> also wenn der benutzer das macht, nicht die software
<Konzai> ja, wobei die bad address sowieso ein ueberbleibsel ist, das nicht
genutzt wird
<Konzai> aber sollte natuerlich korrigiert werden
<hrniels> hm, sie wird nicht genutzt? also ich verwende das schon um
herauszufinden wo ein pagefault auftrat
<Konzai> das mit den alpha-werten hatte ich schon selber gemerkt :-)
<hrniels> obwohl..das steht auch in entryhi oder? zumindest könnte man das
auch nutzen, wenn ich gerade nichts übersehe
<Konzai> ja, da steht zumindest die seite drin, aber nicht die ganze adresse
<Konzai> ich wusste beim entwurf nicht, ob man die braucht
<Konzai> MIPS hat das, also habe ich es auch eingebaut :-)
<hrniels> ah ok
<Konzai> aber in der fpga-implementierung gibt's das register nicht
<hrniels> achso. ok, dann sollte ich das bei mir wohl mal ändern und entryhi
benutzen :)
<Konzai> wie ist denn ihre meinung: sollte man das hinzufuegen?
<hrniels> hab grad schon überlegt wie das für das debugging ist. kann man
sich die wirklich pagefault-adresse immer berechnen anhand der
register-inhalte zu dem zeitpunkt?
<hrniels> müsste eigentlich so sein oder?
<Konzai> ich denke ja, ist aber auf alle faelle umstaendlich
<hrniels> selbst wenn das user-programm irgendwo hinspringt, wo es nicht hin
darf, sieht mans ja anhand von $30
<hrniels> das stimmt, ja
<Konzai> btw, es wird sowieso eine aenderung in den spezial-registern geben:
exceptions werden ihre return-adresse in ein special register schreiben
anstatt in $30
<hrniels> oder wenn man nur entryhi nimmt und dort die vollständige adresse
einträgt und die ggf. ignoriert, wenn nötig?
<Konzai> die pipeline-implementierung hat schwierigkeiten mit $30
<hrniels> ah ok. apropos spezial-register. was halten sie davon ein neues
einzuführen, dass die anzahl der bisher ausgeführten instruktionen liefert?
<Konzai> kann man machen; der sim hat ja so einen zaehler auch schon :-)
<hrniels> genau. wäre auf jeden fall praktisch. bei meinem os basiert z.B.
die laufzeit messung der einzelnen prozesse momentan darauf. und bei x86
gibts rdtsc und bei mmix rC, nur bei eco32 gibt es das nicht :)
<Konzai> aha, sie kitzeln meinen entwicklerstolz... ;-)
<hrniels> hehe
Go to most recent revision | Compare with Previous | Blame | View Log