1 |
10 |
hellwig |
|
2 |
|
|
Things To Do
|
3 |
|
|
------------
|
4 |
|
|
|
5 |
|
|
1) sim & fpga:
|
6 |
|
|
proper placement of disk buffer(s)
|
7 |
|
|
|
8 |
|
|
2) lcc:
|
9 |
|
|
Handle floating point operations more gracefully.
|
10 |
|
|
|
11 |
|
|
3) eos32/lib/src/stdio.c and eos32/kernel/klib.c:
|
12 |
|
|
Allow more formatting options in vprintf().
|
13 |
|
|
|
14 |
|
|
sim:
|
15 |
|
|
hrniels> 1. wenn man in dem cli einen tlb-miss auslöst, wird der zustand
|
16 |
|
|
geändert (tlb-bad-address)
|
17 |
|
|
|
18 |
|
|
2. der timer setzt seine register bei einem reset nicht zurück
|
19 |
|
|
|
20 |
|
|
3. beim dspkbd-device ist ein fehler. und zwar darf man in dem
|
21 |
|
|
keyboard-callback nicht die read-position in dem ring-buffer dort
|
22 |
|
|
weiterschieben, wenn der letzte scancode noch gar nicht gelesen wurde
|
23 |
|
|
|
24 |
|
|
4. beim dspkbd sollte man auch den alpha-wert bei den pixeln
|
25 |
|
|
angeben. wenn man z.B. compiz verwendet, was das unterstützt, ist sonst
|
26 |
|
|
alles transparent :)
|
27 |
|
|
|
28 |
|
|
5. die positionierung des fensters von dspkbd mit XCreateWindow
|
29 |
|
|
wird gerne mal vom window-manager ignoriert. daher sollte man am besten ein
|
30 |
|
|
XMoveWindow anschließend machen
|
31 |
|
|
das wars :)
|
32 |
|
|
|
33 |
|
|
klasse, ganz herzlichen dank!
|
34 |
|
|
kein problem
|
35 |
|
|
frage zu 1:
|
36 |
|
|
cli == command line interface?
|
37 |
|
|
ja
|
38 |
|
|
|
39 |
|
|
---------------------------------------------------
|
40 |
|
|
|
41 |
|
|
also wenn der benutzer das macht, nicht die software
|
42 |
|
|
ja, wobei die bad address sowieso ein ueberbleibsel ist, das nicht
|
43 |
|
|
genutzt wird
|
44 |
|
|
aber sollte natuerlich korrigiert werden
|
45 |
|
|
hm, sie wird nicht genutzt? also ich verwende das schon um
|
46 |
|
|
herauszufinden wo ein pagefault auftrat
|
47 |
|
|
das mit den alpha-werten hatte ich schon selber gemerkt :-)
|
48 |
|
|
obwohl..das steht auch in entryhi oder? zumindest könnte man das
|
49 |
|
|
auch nutzen, wenn ich gerade nichts übersehe
|
50 |
|
|
ja, da steht zumindest die seite drin, aber nicht die ganze adresse
|
51 |
|
|
ich wusste beim entwurf nicht, ob man die braucht
|
52 |
|
|
MIPS hat das, also habe ich es auch eingebaut :-)
|
53 |
|
|
ah ok
|
54 |
|
|
aber in der fpga-implementierung gibt's das register nicht
|
55 |
|
|
achso. ok, dann sollte ich das bei mir wohl mal ändern und entryhi
|
56 |
|
|
benutzen :)
|
57 |
|
|
wie ist denn ihre meinung: sollte man das hinzufuegen?
|
58 |
|
|
hab grad schon überlegt wie das für das debugging ist. kann man
|
59 |
|
|
sich die wirklich pagefault-adresse immer berechnen anhand der
|
60 |
|
|
register-inhalte zu dem zeitpunkt?
|
61 |
|
|
müsste eigentlich so sein oder?
|
62 |
|
|
ich denke ja, ist aber auf alle faelle umstaendlich
|
63 |
|
|
selbst wenn das user-programm irgendwo hinspringt, wo es nicht hin
|
64 |
|
|
darf, sieht mans ja anhand von $30
|
65 |
|
|
das stimmt, ja
|
66 |
|
|
btw, es wird sowieso eine aenderung in den spezial-registern geben:
|
67 |
|
|
exceptions werden ihre return-adresse in ein special register schreiben
|
68 |
|
|
anstatt in $30
|
69 |
|
|
oder wenn man nur entryhi nimmt und dort die vollständige adresse
|
70 |
|
|
einträgt und die ggf. ignoriert, wenn nötig?
|
71 |
|
|
die pipeline-implementierung hat schwierigkeiten mit $30
|
72 |
|
|
ah ok. apropos spezial-register. was halten sie davon ein neues
|
73 |
|
|
einzuführen, dass die anzahl der bisher ausgeführten instruktionen liefert?
|
74 |
|
|
kann man machen; der sim hat ja so einen zaehler auch schon :-)
|
75 |
|
|
genau. wäre auf jeden fall praktisch. bei meinem os basiert z.B.
|
76 |
|
|
die laufzeit messung der einzelnen prozesse momentan darauf. und bei x86
|
77 |
|
|
gibts rdtsc und bei mmix rC, nur bei eco32 gibt es das nicht :)
|
78 |
|
|
aha, sie kitzeln meinen entwicklerstolz... ;-)
|
79 |
|
|
hehe
|