Sourcecode Fortschritt



  • Version 0.0.4.106 - Revision 1495

    • acpi.c/h: Fehlerhaftes freigeben bereinigt (hoffentlich); fehlerehafte Debug-Zeile rausfliegen lassen
    • Copyright-Hinweise aus Headern entfernt
    • Tabs...

  • Mod

    0.0.4.107 - Rev: 1496

    1. apic.c: physische IOAPIC Adresse via acpi ausgelesen ("/PrettyOS/ACPI/MADT/IOAPIC2/address") - klappt in vmware und mit Test-PC

    2. xhci.c: Interrupts (von IOAPIC) ausgewertet. Testweise apicIRQ = 0 (kommen dann mit timer)

    Port Change Detect: eigene Konsole (um Status zu testen), Anstecken u. Abziehen eines Sticks am usb3-Port klappt bestens am Test-PC


  • Mod

    0.0.4.108 - Rev: 1497
    xhci: apicIRQ = 2 ideal für vmware und test-PC, kleinere Änderungen im Code.



  • Version 0.0.4.109:
    -Unterstützung für beliebig viele Konsolen.Bild - Auf / Bild - Ab schalten zwischen Konsolenstapeln zu je 10 Konsolen.
    - Bugfix : Asterisk repariert(zeigte auch Leerzeichen)
    - Bugfix : Speicherleck geschlossen - Speicher für Partitionen wird wieder freigegeben
    - Kleine Scheduler - Optimierung : Gebe höchstens einen Task pro Durchlauf frei
    - Copyright - Datum des Bootscreens aktualisiert
    - Codevereinfachungen im FAT - Treiber


  • Mod

    0.0.4.110 - Rev: 1499

    xhci.c: erste Versuche zur Device Nummerierung


  • Mod

    0.0.4.111 - Rev: 1500

    xhci.h/c: Codevereinfachung

    vmware: TRB error
    bochs: context state error
    test-PC: #PF 1197B0 (xhci.c)


  • Mod

    0.0.4.112 - Rev: 1501

    xhci.c: #PF beseitigt

    Nun sind wir bei vmware und test-PC auf der Ebene "parameter error" im Device Context.


  • Mod

    0.0.4.113 - Rev: 1502

    xhci.h/c: Input Control Context und Input Context ergänzt.



  • Version 0.0.4.114:

    - console_foldStack implementiert
    - Springe zur ersten belegten Konsole (statt zu Nr. 0) beim Stackwechsel
    - Führe EOI entweder für APIC oder für PIC durch
    - Unnützes seek() auf frisch erzeugte Dateien im FAT-Treiber eliminiert
    - fgets repariert (kernel), bzw. implementiert (userspace)
    - atexit und at_quick_exit repariert (für mehr als 5 Funktionen)
    - Speicherlecks in CDI-Allokationsfunktionen (cdi_mem_free implementiert) und behoben
    - tolower/toupper durch strncicmp ersetzt (Shell, userlib)
    - Umfassende Codestil-Vereinheitlichungen


  • Mod

    0.0.4.115 - Rev: 1504

    xhci.h/c: Alle Voraussetzungen für die vollständige Device Slot Initialization sind nun gegeben (Command-, Event-, Transferring (zumindest für EP0) und alle notwendigen Datenstrukturen).

    bochs: USB transaction error (wohl weil kein Port connected u. enabled ist)
    vmware: Übergang von Enabled zu Addressed klappt!
    test-PC: noch Parameter Error (speed?)

    👍


  • Mod

    0.0.4.116 - Rev: 1505

    Werte im input context bei xhci.c weiter korrigiert.

    test-PC zeigt leider immer noch "parameter error". 😕
    Auf vmware funktioniert es bestens. 🙂


  • Mod

    0.0.4.117 - Rev: 1506

    xhci.c: Nun spielt auch der test-PC beim Adressieren der Devices mit.

    Man erkennt hieraus, dass die Entwicklung solcher Treiber nur durch Testen auf Hardware eine gewisse Reife entwicklen kann. Emulatoren können da bei usb keinesfalls mithalten.


  • Mod

    0.0.4.118 - Rev: 1507
    xhci.c: weitere Verbesserungen - vor allem für Hardware (delay zwischen command und event-abfrage notwendig)

    (nr. versehentlich eins zu hoch in ckernel.c)



  • Version 0.0.4.120:

    - Screenshots können nun auch außerhalb der Kernelkonsole gespeichert werden
    - SHELL.ELF wird nun mit fopen/fread/fclose aus der Ramdisk geladen
    - Codevereinfachungen in BL1 und BL2
    - FAT_fopen vereinfacht
    - Überreste von make_initrd entfernt

    Versions- und Revisionsnummern wieder synchron.



  • Version 0.0.4.121:

    - IO-Cache-Größe hängt von verfügbarem RAM ab (10 bis 3000 Sektoren, statt vorher stets 20)
    - Syscalls für Maus implementiert
    - IPC überspringt voranstehenden Separator in Pfaden
    - Kompatibilität mit aktuellster Clang-Version hergestellt
    - ScreenCache nach Benutzung wieder freigegeben



  • Nachdem ehenkes und ich den halben Tag gesucht haben, können wir nun sogar drei statt einem Fehler beheben:

    Version 0.0.4.122:

    - Drei Fehler im Zusammenspiel von BL2 und paging.c behoben
    - Debugausgaben der MemoryMap verbessert



  • 0.0.4.123 - Revision 1511

    • MADT-Parser ausgebaut (@ehenkes: Interrut Source Overrides koennten vielleicht bei deinem xHCI-Problem helfen)
    • Parser-Format geaendert: Pfade jetzt lowercase; Nullbasierte Nummerierung von lokalen APICs, IO-APICS, NMIs etc. (ID in einem extra Feld) ➡ erster IO-APIC hat garantiert den Pfad /PrettyOS/acpi/ioapic/0/
    • Copyright in ata.c ergaenzt


  • Version 0.0.4.124:

    - Fehlerkorrektur im ACPI-Treiber: Suche EBDA-Zeiger in BDA; BIOS-Bereich beginnt bei 0xE0000 (damit läuft auch VBox); Suche an 16-byte Grenzen
    - Prüfe Verfügbarkeit von ACPI (anhand RDSP-Zeiger); Zeige Bootlog-Meldung nur bei Verfügbarkeit
    - fopen() funktioniert nun für beliebige Dateien aus Ramdisk; ipc_fopen() implementiert
    - Nutze Option -mtune=generic (Optimierung für übliche (moderne) CPUs, aber Befehlssatz weiterhin durch -march=i486 limitiert) in makefiles
    - Aufrufkonvention im BL2: Aufrufer sichert Register (ReadSectors)


  • Mod

    0.0.4.125 - Rev: 1513

    xhci.c: Kleine Verbesserungen, damit auch usb2-Sticks via xhci sicher adressiert werden.


  • Mod

    0.0.4.126 - Rev: 1514

    Als Experimentierbasis für Transfers.

    xhci: Test mit control-Transfer GET_DEVICEDESCRIPTOR

    Hardware: EP not enabled, xHC error (obwohl die Adressierung klappt)
    vmware: scheinbar in Ordnung
    bochs: EP not enabled, Transfer error (Adressierung klappt nicht)

    Screenshot vom test-PC (zwei usb3-Sticks angeschlossen an Port 3 u. 4):

    PrettyOS [Version 0.0.4.126 - Rev: 1514]                      Console 6:        
    --------------------------------------------------------------------------------
    
    Events:                                                                         
    
    Completion: Success     Port:1 c:1 type:Port Status Change                      
    Completion: Success     Port:2 c:1 type:Port Status Change                      
    Completion: Success     Port:3 c:1 type:Port Status Change                      
    Completion: Success     Port:4 c:1 type:Port Status Change                      
    Completion: Success     CmdPtrLo:00DB4000 c:1 slot:1 Cmd Complete               
    Completion: Success     CmdPtrLo:00DB4010 c:1 slot:2 Cmd Complete               
    Completion: Success     CmdPtrLo:00DB4020 c:1 slot:3 Cmd Complete               
    Completion: Success     CmdPtrLo:00DB4030 c:1 slot:4 Cmd Complete               
                 - - - - - - - - - - - press key - - - - - - - - - - -              
    insert setup-data-status in transfer ring                                       
    insert setup-data-status in transfer ring                                       
    insert setup-data-status in transfer ring                                       
    insert setup-data-status in transfer ring                                       
    
    Events:                                                                         
    
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: EP Not Enabled      c:1 type:xHC Event                              
    Completion: Parameter Error     CmdPtrLo:00DB4040 c:1 slot:1 Cmd Complete       
    Completion: Parameter Error     CmdPtrLo:00DB4050 c:1 slot:2 Cmd Complete       
    Completion: Success     CmdPtrLo:00DB4060 c:1 slot:3 Cmd Complete               
    Completion: Success     CmdPtrLo:00DB4070 c:1 slot:4 Cmd Complete               
                 - - - - - - - - - - - press key - - - - - - - - - - -              
    slot: 1 state: 0 addr: 0 speed (context): 0 PLS: 5 usb: 0F23 len: 32 type: 15   
    slot: 2 state: 0 addr: 0 speed (context): 0 PLS: 5 usb: 0F23 len: 35 type: 15   
    slot: 3 state: 2 addr: 3 speed (context): 3 PLS: 0 usb: 0820 len: 35 type: 8    
    slot: 4 state: 2 addr: 4 speed (context): 3 PLS: 0 usb: 0823 len: 35 type: 15   
    
    >>> Press key to close this console. <<<
    

Anmelden zum Antworten