Sourcecode Fortschritt
-
version = "0.0.3.120 - Rev: 1321"
ohci.c: Durch Anhängen eines Dummy-TD in ohci_issueTransfer und check der conditions nach Ende des Transfers klappt nun auch set_address (Enumeration).
Meilenstein: Die USB 1.1 control-Transfers (mit ohci) laufen auf VBox!
screenshot: http://www.henkessoft.de/OS_Dev/Bilder/rev.1321_OHCI_USB.PNG
-
version = "0.0.3.121 - Rev: 1322"
usb2_msd.c:
curEHCI bzw. showUSBSTS(e) in diesem Modul eliminiert, um es auch für ohci- und uhci-bulk-Transfers benutzen zu können.
-
version = "0.0.3.122 - Rev: 1323"
ohci.c: bulk transfers laufen test-weise (tranfer/transaction system funktioniert auch dort)
-
version = "0.0.3.123 - Rev: 1324"
ohci.c: recycling der bulk-ED/TD Ressourcen
Nun kann man ttt mittels usb 1.1 mit ohci laden!
-
version = "0.0.3.124 - Rev: 1325"
ohci.c:
- recycling der control-ED/TD
- "disk" und "usb-device" entfernen beim Entfernen einer USB Mass Storage Device vom Port (usb slot) <--- funktioniert noch nicht, da zur Zeit nur connected behandelt wird
-
version = "0.0.3.125 - Rev: 1326"
ohci.h/c: "device removed" wird nun wieder angezeigt (aber nur bei Ports, bei denen vorher ein connect war) und die Disk-Liste aktualisiert.
-
version = "0.0.3.126 - Rev: 1327"
list.h/c: Zahl der Elemente kann nun erfragt werden (Test in ohci.c)
-
version = "0.0.3.127 - Rev: 1328"
Formale Änderungen
-
Version 0.0.3.128:
- IPC verbessert:
-- Funktional nun fast vollständig
-- Strg+i zeigt Inhalt der IPC an
-- IPC-Syscalls implementiert
- EHCI AsyncScheduler verbessert. Kein Start-Stop mehr. (-> Deutlich beschleunigt, aber nicht 100% zuverlässig)
- Codestil und kleinere Optimierungen
-
Version 0.0.3.129:
- IN-Transfer von SCSI-Commands werden bei Fehlschlag nicht mehr wiederholt (-> führte zu Freeze)
- EHCI-AsyncScheduler prüft nun, ob das Active-Bit jeder qTD gelöscht wurde (-> wesentliche Beschleunigung)
-
version = "0.0.3.130 - Rev: 1331"
ohci.c: bei Transfer-Ausführung code vereinfacht und stop-Vorgänge zwischen transactions gestrichen
ehci.c: reset-Wartezeit von 250 ms auf 100 ms verkürzt (OpenBSD nimmt 100 ms).
-
version = "0.0.3.131 - Rev: 1332"
ehci.c: Code klarer formuliert
usb2_msd.c: Fehler bei Paketgröße (control transfers) berichtigtEHCI-Tests auf PC: Vorgänge verlaufen sehr schnell, leider funktionieren Memory-Sticks der Marke Intenso Rainbowline (4GB) z.Z. nicht (allerdings problemlos mit VMWare Player), Grund leider unklar.
-
Version 0.0.3.132:
- EHCI-Funktionen gemäß Styleguide benannt
- Start of Frame Interrupt bei OHCI deaktiviert
- Kein Broken Free mehr bei OHCI (EDs dürfen nicht gelöscht werden, da sie in einem Mempool sind)
- _BROKENFREE_DIAGNOSIS_ implementiert: Wenn definiert, werden Datei und Zeilennummern des dazugehörenden free-Aufrufs angezeigt
- Code vereinfacht
-
version = "0.0.3.133 - Rev: 1334"
ohci.h/c: Structs/Funktionen/Parameter korrekt auf das bei ohci übliche ED/TD umbenannt. Debug-Ausgaben stark reduziert.
-
version = "0.0.3.134 - Rev: 1335"
uhci.c: Fehler bei usb-attach-Erkennung repariert, usb-Transfer/Transaction-frame als Interface für das usb-Modul aufgebaut. TODO: Mit Leben füllen
pcnet.c: Versuchsweise auf full-duplex geschaltet, um collision error in VBox zu vermeiden (klappt nicht)
-
version = "0.0.3.135 - Rev: 1336"
uhci.h/c: Weiter implementiert
-
Version 0.0.3.136:
- Bugfix: Shell stürzt nicht mehr ab, wenn man den Schreibcursor nach links bewegt
- Bugfix: Kein #GPF mehr, wenn ein USB-Stick schon beim boot steckt (EHCI)
- Einige fehlende E0-Tasten ergänzt - Entf, Pos1, End, ...-Tasten funktionieren wieder (u.a. von der Shell unterstützt)
- Timer-Ticks jetzt als uint64_t gespeichert (Rechnungen weiterhin mit uint32_t, da keine 64-bit-Unterstützung)
- video_updateCursor in vga_updateCursor umbenannt. Einsatz überarbeitet.
-
version = "0.0.3.137 - Rev: 1338"
uhci.c: transfer/transactions/QH- u. TD-Funktionen eingerichtet (Transfers klappen noch nicht)
-
version = "0.0.3.138 - Rev: 1339"
uhci.c: Fehler beseitigt (Transfers laufen noch nicht korrekt)
-
version = "0.0.3.139 - Rev: 1340"
uhci.c: weiter gecheckt, aber Transfers laufen noch nicht.