Sourcecode Fortschritt


  • Mod

    0.0.4.173 - Rev: 1559
    xhci:
    - Event-Anzeige ohne eigene Konsole (Vereinfachung des Ablaufs)
    - Event-Anzeige nur bei Error


  • Mod

    0.0.4.174 - Rev: 1560

    xhci: Verschieben von Zeigern von der xHC- zu den Endpoints-Structs.

    typedef struct
    {
       //...
    
       // transfer ring
       xhci_xfer_NormalTRB_t* virtEnqTransferRingPtr;
       xhci_xfer_NormalTRB_t* virtDeqTransferRingPtr;
       xhci_xfer_NormalTRB_t* TransferRingbase;
       bool                   TransferRingProducerCycleState; // PCS
       uint32_t               TransferCounter;
    } xhci_endpoint_t;
    

    Nun sollte auch bei mehreren Sticks jeder Endpoint seinen eigenen Transferring haben. Die Interrupts werden immer noch alle nach Interrupter 0 geschickt.


  • Mod

    0.0.4.175 - Rev: 1561

    xhci: Erste Reaktion in parseEvent auf Babble Detect
    Übergang von Halted zu Stopped gelingt bereits.



  • Version 0.0.4.176:

    - Fehlerkorrekturen in USB:
    -- Allokiere soviele Endpoints, wie das Gerät hat
    -- Größen von Strukturen und Transfers aneinander angepasst/korrigiert
    -- Fehlende Nullterminierung eines Strings hinzugefügt


  • Mod

    Rev: 1563 im Kernel versehentlich alles eine Nummer zu tief!

    usb: Fehler behoben Bei Descriptor Device

    Experimentell:
    xhci: xhci_Set_TR_DeqPointer_Command eingebaut, Endpunkt von Halted(2) über Stopped(3) nach Running(1) bewegt.

    Details siehe: http://www.c-plusplus.net/forum/p2398877#2398877


  • Mod

    0.0.4.178 - Rev: 1564

    xhci: bulk Transfers laufen ohne babble detect error

    z.Z. auf Grund von Zeitproblemen noch mit _XHCI_DIAGNOSIS_

    Anmerkung zum xhci_handler: // printf("Interrupt came from another xHCI device!\n"); // TODO: clarify the source of the interrupt!

    Geladen via 3:/ttt

    PrettyOS [Version 0.0.4.178 - Rev: 1564]                   Console 0: 3:/ttt.ELF
    --------------------------------------------------------------------------------
    ================================================================================
    
                                  TicTacToe 3x3  v0.7.0                             
    
    --------------------------------------------------------------------------------
    
     -------------                                                                  
     | 0 | 1 | 2 |                                                                  
     -------------                                                                  
     | 3 | 4 | 5 |                                                                  
     -------------                                                                  
     | 6 | 7 | 8 |                                                                  
     -------------                                                                  
    
     -------------                                                                  
     |   |   |   |                                                                  
     -------------                                                                  
     |   |   |   |                                                                  
     -------------                                                                  
     |   |   |   |                                                                  
     -------------                                                                  
    
    Player X: Please type in a number betwen 0 and 8.                               
    
    --------------------------------------------------------------------------------
    Tuesday, May 13, 2014, 19:08:52   94 s runtime. CPU: 3410 MHz                  \
    

  • Mod

    0.0.4.179 - Rev: 1565

    xhci: mps und interval werden von usb übernommen, timing durch variation der schalter in os.h etwas eingeengt
    usb: interval zusätzlich in endpoints
    os.h: XHCI Schalter aufgespalten

    test-PC funktioniert bestens!
    vmware bindet angedockte sticks über einen hub ein (bisher noch kein erfolg ein programm zu laden)


  • Mod

    0.0.4.180 - Rev: 1566

    Die xhci/usb-Debug-Schalter in os.h können nun alle deaktiviert werden.
    Überraschend mussten in xhci_prepareSlotsForBulkTransfers die Zeilen 794-797 und 817-821 verbleiben, warum auch immer (Klärungsbedarf).


  • Mod

    0.0.4.181 - Rev: 1567

    xhci:
    Fehler gefunden in xhci_prepareSlotsForBulkTransfers.
    Debugs für xhci wieder vereinheitlicht.


  • Mod

    0.0.4.182 - Rev: 1568

    usb_msd.c: Korrektur der Kapazitätsbestimmung mittels read capacity (10)
    (Big-Endian bei SCSI)


  • Mod

    0.0.4.183 - Rev: 1569
    xhci:
    - Fehler in initHC beseitigt
    - weitere Ausgaben hinter DEBUG-Schalter gesetzt, damit ein flüssiger Ablauf stattfindet
    - Transfers beschleunigt (Problem: Aussetzer nach dem ersten Event-Interrupt)

    test-PC: erfolgreiche Ladevorgänge von usb-Sticks (sticks: usb 2.0 oder 2.10)


  • Mod

    0.0.4.184 - Rev: 1570
    xhci: Umgestaltung in xhci_prepareSlotsForControlTransfers (zeitliche Entkopplung der Commands) und im Handler bei STS_EINT (es wird nun kein kurzzeitiger Thread gestartet). Unser Task-System zeigt in vmware offensichtlich ein Problem bei Massen-Kills von tasks (auf dem PC kein Problem). Nun geht vmware und test-PC.


  • Mod

    0.0.4.185 - Rev: 1571

    xhci:
    - clear EHB beim Setzen des Event-Dequeue-Pointers,
    - im Handler: Event-Interrupts zählen

    fsmanager: Fehlermeldung entfernen aus fopen (Null-Rückgabe reicht)

    vmware: z.B.: event-Interrupts: 33 events: 60
    test-PC: event-Interrupts: 1(!) events: > 45 (Rest gepollt)


  • Mod

    0.0.4.186 - Rev: 1572

    xhci: Fehler korrigiert:
    - EHB ist Bit3 (nicht Bit0)
    - Thread bei event-Interrupt geht nicht wegen freeze bei vmware (kill-Problem in task) ?!

    Ab und zu kommt es beim Booten mit angehängtem Stick zu freeze beim test-PC (typische Kill-Problematik!). Die Erzeugung/Behandlung der Interrupts sind also noch ein Problem bei xhci.

    os.h: bootscreen temporär abgeschaltet (Sound bleibt hängen in vmware bei freeze)


  • Mod

    0.0.4.187 - Rev: 1573

    xhci: logischer Fehler in parseEvents wurde behoben, und issueTransfer vereinfacht. Nun haben wir ein echtes transfer->success.

    Nun werden User-Programme auf dem test-PC in Windeseile geladen. Das macht endlich Spaß! 😉


  • Mod

    0.0.4.188 - Rev: 1574
    xhci: Fehlerabfragen für den Transfer erweitert.


  • Mod

    0.0.4.189 - Rev: 1575

    apic.h/c: Kommentierung für Verbesserungen/Fehlersuche/Versuche erweitert

    Während Emulatoren unempfindlich sind, reagiert der test-PC massiv auf Änderungen. Zum Beispiel führt in der redirection table Level sensitive anstelle Edge sensitive zum Freeze. Fixed ist wichtig.



  • 0.0.4.190 - Rev: 1576
    madt.c: strlen von uninitialisiertem Zeiger gefixt
    madt.h: Masks fuer Flags hinzugefuegt


  • Mod

    0.0.4.191 - Rev: 1577

    apic: Fehler behoben in IOAPIC redirection table



  • Version 0.0.4.192:

    - IPC unterscheidet nun mehrere Integer-Typen: UINT, INT, QWORD und SIZE
    - Überprüft Vorhandensein des IO-APIC vor Benutzung
    - FAT12-Formatierung: Floppy-Abhängigkeit beseitigt
    - Codevereinfachung in usb_msd.c


Anmelden zum Antworten