Sourcecode Fortschritt


  • Mod

    0.0.4.273 - Rev: 1659

    xhci: port != slot Problematik in den xhci-Transfer/transaction-Fkt. verbessert!

    Nun kann man nach Abziehen der Sticks an Port 3 und 4, einen wieder an Port 4 andocken, der dann Slot 3 erhält (port != slot).

    Wichtig:

    uint8_t portNr = (uint8_t) (size_t) ((hc_port_t*) transfer->device->port->data)->data;
    uint8_t slotNr = x->portSlotLink[portNr-1].slotNr;
    

    TODO: Neuer Test: 1) ports 3 u. 4 anstecken 2) beide abziehen 3) port 4 anstecken (=>slot3) 4) port 3 anstecken (sollte slot 4 erhalten)

    Bei 4) erhält der port 3 nochmals den slot 3! ⚠


  • Mod

    0.0.4.274 - Rev: 1660

    xhci: port-slot-Link beim device detach entkoppelt durch setzen auf 0xFF.

    Nun klappt der Test:

    1. Jeweils einen Stick an port 3 u. 4 anstecken
    2. Beide Sticks abziehen
    3. Stick an port 4 anstecken (=>slot 3)
    4. Stick an port 3 anstecken (=>slot 4)
    5. Beide Sticks abziehen
    6. Stick an port 3 anstecken (=>slot 3)
    7. Stick an port 4 anstecken (=>slot 4)

    Also die Port/Slot-Zuordnung erscheint nun prinzipiell gelöst.

    Enthält noch einige Analysen und Haltepunkte für weitere Tests.



  • Version 0.0.4.275:

    - xHCI: Unnütze Allokationen beseitigt, xhci_enqueueTransfer/xhci_enqueueCommand korrigiert (überschrieb Link-TRB), Arrays auf passende Größe reduziert, ...
    - Kleine Aufräumarbeiten bei U/O/EHCI
    - devmgr: Behandlung von Fehleingaben verbessert
    - Compilerfehler bei eingeschalteten Debug-Flags behoben


  • Mod

    0.0.4.276 - Rev: 1662

    fat.c: FAT32 korrigiert part->fat war nicht definiert.

    FAT32 Format-Test mit Diskette(!) sieht gut aus.

    Hinweis: Floppywechsel wird nicht erkannt!


  • Mod

    0.0.4.277 - Rev: 1663

    xhci.c: Haltepunkte entfernt



  • Version 0.0.4.278:

    - FAT: Beachte part->start bei Formattierung
    - Devicemanager: Cachegröße ist nun geknickte lineare Funktion des vorhandenen Speichers, Caches unterstützen beliebige Sektorgrößen
    - EHCI: Einsparung von Allokationen, nutze qTD::buffer1 für nicht ausgerichtete Puffer
    - Floppytreiber: Bessere Unterstützung mehrerer Laufwerke, Zugriff mit Mutex geschützt
    - Bugfix: #PF beim Beenden eines Tasks beseitigt, wenn Dateien geöffnet waren
    - Bugfix: Besserer Umgang mit im Betrieb gezogenen USB-Sticks und Lesefehlern bei USB
    - Alle disk_t-Member initialisiert, optAccSecCount in Vorbereitung für Lesen größerer Blöcke ergänzt

    Seit 0.0.4.277 (r1663) funktioniert xHCI bei mir nicht mehr.


  • Mod

    0.0.4.279 - Rev: 1665

    xhci.c: Fehler beseitigt



  • PrettyOS 0.0.5.0

    Neue Features:

    - Dateisystemunterstützung erweitert
    -- FAT32- und FAT16-Formattierung
    -- Ordnerunterstützung
    -- Zahlreiche neue Befehle für die Shell: rmdir, mkdir , cp, del, ...
    - xHCI-Treiber
    - IO/Local-APIC und Message Signaled Interrupts
    - Treiber für RTL8168/8169
    - USB-Hubs
    - ATA-Festplattentreiber
    - Neue Ramdisk, basierend auf PrettyIPC
    - Neuimplementierter User-Heap

    Verbesserungen:

    - EHCI, OHCI und UHCI stabilisiert und beschleunigt
    - Floppytreiber beschleunigt
    - PCNet-Netzwerktreiber stabilisiert
    - Konsolenstapel zur Unterstützung beliebig vieler Konsolenstapel
    - Kernel verkleinert, Ausgabecode in Userspace verlagert (insbesondere: devmgr.elf)

    Entfernte Funktionen

    - VBE-Shell
    - Text-GUI
    - Initrd-Ramdisk

    Version 0.0.5.0 - Rev. 1666

    - Changelog.odt und NextRelease.txt [EDIT: vergessen, kommt demnächst nach] für 0.0.5.0 aktualisiert
    - Einige Fehlerabfragen verbessert
    - VS-Solution auf VS2013 als Standard umgestellt (ältere Versionen sollten weiterhin gehen)


  • Mod

    0.0.5.1 - Rev: 1667

    xhci: Nach dem Abziehen eines MSD (slotNr 0xFF) wird transfer-success bei einem Transferversuch auf false gesetzt.


  • Mod

    0.0.5.2 - Rev: 1668

    usb_hid.h/c: Erster Entwurf für ein usb HID Modul



  • Version 0.0.5.3:

    - Generischer Mechanismus zum Lesen größerer Blöcke (von Floppy und USB genutzt)
    - UHCI: Kommunikation mit LowSpeed-Geräten ermöglicht
    - USB-HID: Einige Fehler beim Lesen der Deskriptoren behoben
    - USB: Gerätespezifischen Code nach usb_hub/msd/hid.c verschoben
    - Bugfix: Umgang mit unbekannten Partitionen verbessert
    - NextRelease.txt nachgeliefert



  • Version 0.0.5.4:

    - xHCI: Code gekürzt, Slot-Speed auf richtigen Wert gesetzt (anstatt konstant 3)
    - EHCI: ehci_portReset aufgeräumt
    - USB: Unterstützung mehrerer Interfaces gleichzeitig
    - Bugfix: Unterscheidung von Hub/HID/MSD korrigiert (in voriger Revision beschädigt)


  • Mod

    0.0.5.5 - Rev: 1671

    usb_hid.h/c: Erste Analyse des HID Descriptors

    Ausgaben erscheinen etwas unverständlich.


  • Mod

    0.0.5.6 - Rev: 1672

    usb_hid.c: Analyse/Show-Fkt. korrigiert/erweitert



  • Version 0.0.5.7:

    - HID: Interface-Protokoll angezeigt (Maus, Tastatur)
    - HID-Code aufgeräumt
    - Bugfix: Debug-Print in usb_msd korrigiert

    Hinweis: Version/Revision versehentlich nicht hochgezählt.



  • Version 0.0.5.8:

    - Devicemanager: Blockweises Schreiben implementiert (massive Beschleunigung aller Schreibvorgänge)
    - USB-HID: Bessere Unterstützung von Multifunktionsgeräten, Ausgabe verbessert
    - Devicemanager: Einige Funktionen umbenannt
    - Schreibe "Take screeenshot" erst, nachdem der Screenshot geschossen wurde
    - Bugfix: Use-after-free in move()-Funktion behoben



  • Version 0.0.5.9:

    - OHCI: Treiber grundlegend überarbeitet: Diverse Fehler und Abweichungen von Spezifikation korrigiert
    - xHCI: Warte auf Interrupt anstatt feste Zeitspanne, überflüssiges evaluate context bei GET_DESCRIPTOR_CONFIG entfernt
    - diverse HC-Treiber: Fordere Interrupts nur wo nötig
    - pong: Code überarbeitet und deutlich gekürzt (> 400 Zeilen), einige kleine Fehler behoben
    - pqeq: Ausgabe verbessert



  • Version 0.0.5.10:

    - USB: Verbesserter Umgang mit MPS und Endpoints
    - xHCI: MSD-Hacks entfernt, Mechanismus zum Aktualisieren der Endpoint-Informationen



  • Version 0.0.5.11:

    - xHCI: Warten auf Abschluss eines Cmds implementiert
    - USB-Hub: Einige waitForKeyStroke() entfernt
    - HC-Treiber: unnützer Parameter tokenBytes bei setupTransaction entfernt
    - Bugfix: vsnprintf konnte bei %X/%x/%y über Puffergrenze schreiben
    - Speicherlecks in Shell und fsmanager behoben


  • Mod

    0.0.5.12 - Rev: 1678

    usb.c: UFI (interface->interfaceSubclass == 0x04) wird abgefangen und angezeigt.

    test-PC: uhci - fullspeed (usb-Floppy) klappt also am ehci-port nach Abgabe an uhci


Anmelden zum Antworten