Sourcecode Fortschritt
-
"0.0.4.102 - Rev: 1490"
xhci.c: Optimierungen bez. Zeitverhalten, sodass Test-PC die MSI-Interrupts erhält
(leider in ckernel.c jeweils eine Nummer zu hoch)
-
"0.0.4.103 - Rev: 1491" - Kleinigkeiten
(leider in ckernel.c momentan eine Nummer zu hoch)
-
version = "0.0.4.104 - Rev: 1492"
usb3-Transfers/-Transaktionen vorkonfiguriert
-
Version 0.0.4.105 - Revision 1493
- acpi.c/h: Treibergeruest fuer finden & mappen von ACPI-Tabellen (Parser dynamisch hinzufuegbar)
- acpi/parser.c/h: hardcodierte ACPI-Parser [fehlt im Commit]
- acpi/madt.c/h: rudimentaerer Parser fuer die Multi APIC Descriptor Table (liest bisweilen nur Infos ueber lokale APICs und IO-APICs aus und schiebt sie in IPC) [fehlt im Commit]
Version 0.0.4.105b - Revision 1494: Broken commit fix
-
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