Sourcecode Fortschritt
-
version = "0.0.4.88 - Rev: 1476"
apic.h/c: APIC timer mittels PIT justiert.
Tests: Test-PC und VMware laufen zeitgenau. xHCI in os.h ausgeschaltet, da es bei VMware dabei massive Probleme gibt. Qemu läuft etwas zu schnell. Bochs stürzt ab (exception). VBox läuft sehr langsam.
-
Version 0.0.4.89:
- Fehler behoben: Crash bei Read-Only-Sektionen in PE/ELF-Dateien
- Interrupt-Code aufgeräumt: Weniger redundanter Code, alle 256 Interrupts nun benutzbar
- Ein paar unnötige memset entfernt
- bochs.bxrc repariert (reverted)
- APIC-Code stilistisch aufgeräumt
-
Version 0.0.4.90:
- Compilerfehler bei aktivierten DIAGNOSIS-Modi behoben
- _SERIAL_LOG_ standardmäßig deaktiviert (ist eine Debug-Option)
- Neue Testergebnislisten
-
version = "0.0.4.91 - Rev: 1479"
pit.h, apic.c: kleine Ergänzungen
Init IO APIC vor local APIC
-
Version 0.0.4.92:
- textgui und VBEShell entfernt
- const-correctness erhöht
- VM86-Handler um Befehlsvarianten erweitert
- Optimierungen in VGA-Treiber und vsnprintf
- VBE-Debugausgabe (via strg+v)
-
Version 0.0.4.93:
- initrd (initrd.c/h, make_initrd) und angehängtes vfs (fs.h/c) gelöscht
- Neue Ramdisk-Implementation begonnen
- Shell nun direkt in kernel eingebunden, ohne Ramdisk-Wrapper
-
version = "0.0.4.94 - Rev: 1482"
ESC+p (paging_analyzeBitTable) korrigiert (schreibt nun korrekt auf den Bildschirm und auf den in os.h angegebenen seriellen Port)
-
"0.0.4.95 - Rev: 1483"
apic.c weiter optimiert (vmware, test-pc laufen; qemu, Vbox, bochs nicht bzw. nicht korrekt)
-
"0.0.4.96 - Rev: 1484"
apic.c: Potenzieller overflow vermieden
-
"0.0.4.97 - Rev: 1485"
apic.c: Kalibrierung läuft nun mit Emulatoren und Hardware
Mode 0 anstelle 1 beim PIT war die Lösung.
-
"0.0.4.98 - Rev: 1486"
xhci.h/c: MSI-Strukturen seitens PCI aufgebaut
-
"0.0.4.99 - Rev: 1487"
Zwischenstand: MSI eingerichtet und aktiviert, kommt leider noch nicht beim Prozessor an (sehr viele Parameter).
EDIT: Fehler beim Schreiben auf die PCI Cap.-Register (word anstelle dword)
-
"0.0.4.100 - Rev: 1488"
MSI läuft nun via APIC (am besten zu sehen mit VMware)
-
"0.0.4.101 - Rev: 1489"
xhci.c: Zeitschleife hinter RUN eingefügt, kleine Optimierungen
-
"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
-