Sourcecode Fortschritt


  • Mod

    Version 0.0.4.54 - Revision 1442

    fat.c: bool FormatDirName (char* dirName, bool mode) ergänzt
    (Vorbereitung für das Erzeugen von Verzeichnissen)



  • Version 0.0.4.55:

    - Ordnererzeugung in FAT-Treiber eingefügt und funktionsfähig gemacht
    - Neue Shell-Befehle md und mkdir (synonym), legen Ordner an


  • Mod

    Version 0.0.4.56 - Revision 1444

    fat.c: createDir zeigt bei realen Sticks mit FAT32 zeitkritisches Verhalten (Fehler CE_BADCACHEREAD bzw. nicht erfolgender cache-flush). Daher wurden in createDir Warteschleifen eingefügt und werden Fehlermeldungen (error line: ...) gedruckt.

    Im aktuellen Testfall (VBox, 4GB Stick mit FAT32) wird das Directory geschrieben, aber es kommt dennoch der Fehler CE_BADCACHEREAD (Zeile 2059).

    Bitte um Suche nach der tiefer liegenden Ursache (root cause) und um die Durchführung von tests mit FAT32-usb-Sticks.



  • Version 0.0.4.57:

    - Gemeinsamkeiten zwischen FAT_file_t und FAT_folder_t in FAT_handle_t ausgelagert
    -> Viele Funktionen arbeiten mit FAT_handle_t, wodurch temporäre FAT_file_t-Instanzen verschwinden können
    - Vergessenen Debug-Code in ckernel.c entfernt



  • Version 0.0.4.58:

    - FAT weiter aufgeräumt:
    -> Unnötige Pointer beseitigt
    -> Redundanten Code entfernt
    -> Lose fHandle-Variablen durch handle->entry ersetzt
    -> Unnötiges cacheFileEntry() entfernt - Entry worde gerade erst geschrieben, alle Infos sind bereits bekannt

    Hinweis: Screenshot-Schreiben mit USB (FAT32) unter VBox mglw. nicht stabil. Neue Datei manchmal leer.


  • Mod

    Temporärer Hinweis von MrX: Probleme mit EHCI in VirtualBox kann man wie folgt umgehen:

    void ehci_addToAsyncScheduler(ehci_t* e, usb_transfer_t* transfer, uint8_t velocity)
    {
        e->USBasyncIntCount = 1;
    

    In Version 0.0.4.59 behoben.



  • Version 0.0.4.59

    - Kommando dir/ls implementiert (derzeit nur Wurzelverzeichnis des angegebenen Laufwerks)
    - VBox-Korrektur für EHCI: Async-Scheduler wartete auf ein Interrupt zuwenig (s.o.)
    - fdir-Code aus strg+f für "fdir"-Befehl genutzt (strg+f entfernt)
    - Mehrere CppCheck-Meldungen behoben


  • Mod

    Version 0.0.4.60 - Rev: 1448
    xhci.h für xHCI (HC für USB3) hinzugefügt.


  • Mod

    Version 0.0.4.61 - Rev: 1449

    xhci.c hinzugefügt (für xHCI, USB3).
    Erste Tests gelingen mit VMware Player (qemu 1.6 soll auch xHCI bieten).
    Eingehängt haben wir den xHCI bereits, nun muss er ordnungsgemäß aktiviert werden.

    ... USB xHCI CA520000h MMIO sz: 131072                                                            
    XHCI_MMIO CA520000h mapped to virt addr C0003000h                               
    --------------                                                                  
    xHCI bar physical address: CA520000h                                            
    HCIVERSION:  00.96                                                              
    HCSPARAMS 1: 007F0400h  HCSPARAMS 2: 00000000h  HCSPARAMS 3: F2830000h          
    Ports:       0                                                                  
    HCCPARAMS: 08200388h                                                            
    OpRegs Address: C0003020h
    

    Bei der xHCI-Konsole findet man noch "HC Halted", da wir noch nicht gestartet haben. 😉


  • Mod

    Version 0.0.4.62 - Rev: 1450
    xhci.c weiter ausgebaut bis zum Einschalten des Run/Stop Bits (allerdings noch mit vielen offenen TODO's, s. Kommentare).


  • Mod

    Version 0.0.4.63 - Rev: 1451
    xhci.c weiter ausgebaut: Command Ring, dequeue-/enqueue-Pointer, crcr

    Vielen Dank an Tobiking für die Unterstützung im Chat bezüglich des Verstehens und Umsetzens der xHCI spec.


  • Mod

    Version 0.0.4.64 - Rev: 1452

    xhci.h: TRB types (als #define)
    xhci.c: xhci_deactivateLegacySupport(x); //chapter 7.1



  • Version 0.0.4.65:

    - Kleine Ergänzugen im APIC-Code
    - Includes aufgeräumt
    - Userspace: puts gibt Anzahl geschriebener Zeichen zurück - ermöglicht Optimierung von vprintf


  • Mod

    Version 0.0.4.66 - Rev: 1454

    xhci.h/c: event ring / runtime regs aufgebaut

    Bitte in xhci.c austauschen, damit das Programm nicht in der for-Schleife hängen bleibt:

    //eventTRB
        for (uint16_t i=0; i<256; i++)
    

  • Mod

    Version 0.0.4.67 - Rev: 1455

    Verschiedene Fehler in xhci.c behoben



  • Version 0.0.4.68 - Revision 1456

    • userheap.c/h hinzugefuegt [userHeap_create, userHeap_alloc, userHeap_free]
    • Entsprechende syscalls fuer userHeap_create, userHeap_alloc, userHeap_free und userHeap_destroy hinzugefuegt (userHeapSc_xxx; vornehmlich Gueltigkeits-Checks)
    • malloc/free auf neue Syscalls umgebogen
    • HACK: start.asm erstellt beim Start einen initialen Prozess-Heap und exportiert ein entsprechendes Symbol, dass dann von malloc/free genutzt wird


  • Version 0.0.4.69 - Revision 1457

    • HACK entfernt -> Heap wird nur noch bei Bedarf = 1. Aufruf von malloc erstellt
    • userHeap_cleanUp wird nun in kill in tasking.c aufgerufen
    • Versehentliche Plenks durch switch( -> switch ( bei Funktionsaufrufen korrigiert

  • Mod

    Version 0.0.4.70 - Revision 1458

    usb3 Ports am xHC resettet/enabled und Status dargestellt.
    Funktioniert momentan nur bei bereits eingesteckten Devices.
    In VMware lässt sich dies hervorragend emulieren.


  • Mod

    Version 0.0.4.71 - Revision 1459

    xhxi.c: events (Versuche bisher nicht erfolgreich, MSI-X?)


  • Mod

    Version 0.0.4.72 - Revision 1460

    xhci.h: Fehler in den Lo-Adressen korrigiert


Anmelden zum Antworten