Sourcecode Fortschritt
-
Rev. 172:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=172ehci.h/.c: Konstanten (define) eingebaut, Port-Nummerierung korrigiert
-
XanClic schrieb:
Z schrieb:
Nachtrag: Um 1-Bit Werte lesbarer zu machen, könntest Du folgendes tun und zu den System-Headers hinzufügen...
#define BIT0 (1<<1) #define BIT1 (1<<2) #define BIT2 (1<<3) /* usw */
Bit 0 ist aber (1<<0), wenn ich dich richtig verstehe, und Bit 1 wäre (1<<1) usw..
Oh Ja, Du hast natürlich recht.
-
Rev. 173:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=173- ehci.c Zwischenschritt (INT-Handler implementiert, Problem: INT aktivieren: Absturz)
-
Rev. 174:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=174- ehci.c Zwischenschritt (Code vereinfacht: Strukturen direkt aufgesetzt. Thx to Tobiking)
Real PC geht
Falls sich dies bewährt, wird der überflüssige Code entfernt.
-
Rev. 175
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=175- Kernel verkleinert (weniger Files in initrd.dat: nur noch "info.txt")
- ehci.c bereinigt
- makefile bei initrd angepasstkernel.bin: 50.624 Bytes
siehe: http://www.c-plusplus.net/forum/viewtopic-var-t-is-260731-and-start-is-68.html (thx to +gjm+)
-
Rev. 176
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=176PortStatus wird bei Änderungen in Zeile 46-48 "Info-Bereich" ausgegeben.
Test auf Real PC i.O., VBox hängt bei mir.
-
Rev. 177
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=177Wie 176, nur notdürftig via Polling (in kernel-schleife den handler aufrufen)
PortStatus wird bei Änderungen in Zeile 46-48 "Info-Bereich" ausgegeben.
Test auf Real PC i.O., VBox läuft.
-
Rev. 178
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=178- math.c: power "überarbeitet"
- keyboard.c: Einsatz von memset
- nasmw.exe/nasm.exe: nasm statt nasmw, zugleich auf 2.08rc10 aktualisiert
- makefiles auf nasm.exe angepasst
- userlib.hpp: Einrückungen korrigiert
http://www.henkessoft.de/OS_Dev/Bilder/rev178.PNG <--- mit Sun VBox (funktioniert aber einfach nicht zuverlässig, geht immer wieder verloren an den Host)
-
Rev. 179
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=179ehci.c: wieder zurück gebaut auf Interrupt-Technik, also kein Poliing mehr in der Kernel-Loop!
Dank VMWare.
-
Rev. 180
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=180ehci.c: DeactivateLegacySupport eingebaut
-
Rev. 181
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=181ehci.c: bei eecp == 0xFF wird die Schleife verlassen
Bei meinem real PC ist z.B. eecp == 0x70 und das nächste Byte dann 0xFF.
-
Rev. 182
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=182- Shell (user_program_c) umgebaut: u.a. jetzt mit Eingabecache
- Überflüßige Variable im makefile für userprogs entfernt
-
Rev. 183:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=183Experimenteller Zwischenschritt bei ehci.c:
Wenn mehr als 2 EHCI Devices da sind, wird nur das erste genomme
-
Rev. 184:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=184ehci.c: Korrektur (eecp und eecp_id)
jetzt kommt bei mir: eecp = 0070h, eecp_id = 0001h
Bei Cuervo und Tobiking gehen nun real PCs endlich!
Hier noch ein work-around für MM-Probleme:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-260731-and-start-is-67.htmlSind mehrere EHCI-Host-Controller vorhanden, kann momentan nur der erste beim PCI-Scan initialisiert werden.
pci.c, line 202-206if(!EHCIflag) { analyzeEHCI(bar); initEHCIHostController(number); }
Sun VirtualBox geht auch nicht! (seit Interrupts, Polling aus USBSTS ging leidlich)
Qemu, Bochs und MS VPC bieten uns momentan kein USB EHCI.
-
Rev. 185:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=185- Intelligenteres Caching der Eingaben: Wiedergenutzte Einträge werden nach vorne geholt
- Scope von Variablen verkleinert
- Länge der Strings für die Eingabe auf 70+1 reduziert von 70+10
- Kommentare nun alle auf English (Ich hatte ausversehen Teile auf Deutsch kommentiert)
- Tabs durch Space ersetzt (Noch ein Versehen von mir aus dem letzten Update der Shell)
- Uralte User-Prog Versionen aktualisiert
-
Rev. 186:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=186- kleine Verbesserungen
- Hotfix von +gjm+ implementiert (root dir entries)
-
Rev. 187:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=187ehci.c: Gesamter Port-Status nach SE0, J- u. K-State im Handler dargestellt
-
Rev. 188:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=188- ehci.c: high speed test ergänzt
-
Rev. 189:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=189- ehci.c: Port Reset in Funktion gepackt und im Handler ergänzt
-
Rev. 190:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=190resetPort im IRQ-handler aktiviert, aber ohne sleepMilliSeconds
VMWare: perfekt! http://www.henkessoft.de/OS_Dev/Bilder/rev190.PNG
bei realPC:
- mal highspeed, mal J-state bei mir.
- bei Cuervo klappt es.