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...
-
0.0.4.107 - Rev: 1496
-
apic.c: physische IOAPIC Adresse via acpi ausgelesen ("/PrettyOS/ACPI/MADT/IOAPIC2/address") - klappt in vmware und mit Test-PC
-
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
-
-
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
-
0.0.4.110 - Rev: 1499
xhci.c: erste Versuche zur Device Nummerierung
-
0.0.4.111 - Rev: 1500
xhci.h/c: Codevereinfachung
vmware: TRB error
bochs: context state error
test-PC: #PF 1197B0 (xhci.c)
-
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.
-
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
-
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?)
-
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.
-
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.
-
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 entferntVersions- 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)
-
0.0.4.125 - Rev: 1513
xhci.c: Kleine Verbesserungen, damit auch usb2-Sticks via xhci sicher adressiert werden.
-
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. <<<