Sourcecode Fortschritt
-
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änztSeit 0.0.4.277 (r1663) funktioniert xHCI bei mir nicht mehr.
-
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-HeapVerbesserungen:
- 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-RamdiskVersion 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)
-
0.0.5.1 - Rev: 1667
xhci: Nach dem Abziehen eines MSD (slotNr 0xFF) wird transfer-success bei einem Transferversuch auf false gesetzt.
-
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)
-
0.0.5.5 - Rev: 1671
usb_hid.h/c: Erste Analyse des HID Descriptors
Ausgaben erscheinen etwas unverständlich.
-
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 korrigiertHinweis: 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
-
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
-
0.0.5.13 - Rev: 1679
xhci.c: nun wird speed-ID und mps aus PORTSC angepasst für low-/full-/highspeed Devices (Maus/Tastatur, usb-Floppy, Stick)
-
0.0.5.14 - Rev: 1680
usb/usb_msd: Grundlagen gelegt für Mass Storage Device UFI/CBI (z.B. fullspeed usb-Floppy)
Tests mit VBox (ohci) liefern bereits korrekte Daten der Floppy. Das Device wird nicht vollständig als Disk eingebunden, sodass man noch nicht auf den Inhalt zugreifen kann. Partition, Name, Serial fehlen.
-
0.0.5.15 - Rev: 1681
UFI MSD etwas weiter entwickelt.
-
0.0.5.16 - Rev: 1682
UFI zusammen mit supernicky u. MrX bezüglich Lesen u. Schreiben mit Vbox/ohci und echter (durchgereichter) usb-Floppy zum Laufen gebracht. Schöne Zusammenarbeit!
-
Version 0.0.5.17:
- USB: Einige Daten von usb_device_t nach usb_msd_t verschoben
- UHCI, xHCI: Timeout auf bis zu 1,5 Sekunden erhöht
- UFI-Code vereinfacht
- Const-Correctness erhöht, Code aufgeräumt