Sourcecode Fortschritt
-
Version 0.0.3.16, Revision 1215
- qsort fixed
- psort.c als Userprogramm eingefügt.
-
version = "0.0.3.17 - Rev: 1216"
uhci.h/c, ehci.c, usb_hc.c: uhci weiter ausgebaut
vm86.c: cli/sti ersetzt durch task_switching false/true
memory.txt und Syscalls.odt aktualisiert
syscalls.c: TODOs eingefügt gemäß Planung
TODO: user-threads erzeugen (syscall auf Kombination von createTask, scheduler_insertTask, ret task->pid) MrX: befürchtet rat race condition ehenkes: fordert Begrenzung auf max. Anzahl an User-Threads pro User-Programm.
-
Version 0.0.3.18:
- Angefangen, Lizenzprobleme bei Userprogrammen zu beheben:
-- calc, hello, music, readme, test, dummy, dummy-cpp und ttt stehen nun unter 2-Klausel-BSD
-- keysound in piano, rctl in webshell und ppong in pong umbenannt (-> 2-Klausel-BSD)
- Userprogramme pong und rt entfernt
- Kleinigkeiten am BL
-
version = "0.0.3.18 - Rev: 1218"
Weitere User-Programme unter BSD-2-Klausel-Lizenz gestellt.
Diese BSD-2-Klausel-Lizenz wird zukünftig die Regel sein bei User-Programmen, um den freien Zugriff des gesamten Teams auf den Code von User-Programmen zu gewährleisten. Ausnahmen müssen von allen für das Repo zugelassenen Developern getragen werden.
-
version = "0.0.3.19 - Rev: 1219"
uhci.c: Interrupterkennung u. -Reset (I/O BASE+USBSTS) implementiert.
-
version = "0.0.3.20 - Rev: 1220"
uhci.c: uhci_resetHostController() gemäß
http://www.lowlevel.eu/wiki/Universal_Host_Controller_Interface#ResetIn qemu 0.14.1 und bei VMWARE-Player wird eine Rootport-Anzahl von 2 festgestellt.
-
Version: 0.0.3.20 - Revision: 1221
- Alle meine Userprogramme unter die BSD-Lizenz gestellt, unter welcher jetzt alle Userprogramme stehen.
-
version = "0.0.3.21 - Rev: 1222"
uhci.h/c: UHCI reset ausgeführt, frame list definiert
pci.h/c: pci_config_write_word ergänzt
-
version = "0.0.3.22 - Rev: 1223"
uhci.c: LEGSUP vor/nach reset auslesen, ports mit UHCI_PORT_CS_CHANGE schreiben
qemu: vor: 8F00 nach: 2000 VMWare-Player: vor: 2000 nach: 2000 test-PC 1: vor: 2000 nach: 2000 test-PC 2: vor: 2000 nach: 2000
// Interrupt carried out as a PCI interrupt #define UHCI_PCI_LEGACY_SUPPORT_PIRQ 0x2000 // Status bits that are cleared by setting to 1 #define UHCI_PCI_LEGACY_SUPPORT_STATUS 0x8F00
-
version = "0.0.3.23 - Rev: 1224"
uhci.c: Fehler korrigiert: framelist base address nun page-aligned und 4K groß. Auf physischen Wert im Speicher achten (wird ausgegeben)
-
version = "0.0.3.24 - Rev: 1225"
uhci.h/c auf struct umgestellt. Test-PC 1: Zwei uhci werden initiiert.
-
version = "0.0.3.25 - Rev: 1226"
uhci.c: start von mehreren UHCI
qemu: -usb -device piix4-usb-uhci -device piix4-usb-uhci (3 UHCI)
-
Version 0.0.3.26:
- TTT überarbeitet: Schönere und klarere Ausgabe. Spieler, der an der Reihe ist, wird angezeigt. Spieler, der beginnt, wird durch Zufall "ausgelost"
- Kleinere Bugfixes und Überarbeitungen an UHCI, serial, Maustreiber und ISA-DMA.
- GCC-generierte mmap-Konvertierung im BL2 verbessert. U.a. Funktionsprolog und -epilog entfernt.
- Kleinigkeiten
-
version = "0.0.3.27 - Rev: 1228"
uhci.c: Handler weiter optimiert (Abfangen von gleichen fremden IRQ)
Nun muss auf Hardware getestet werden, ob LEGSUP problemlos umgeschaltet werden kann.
-
version = "0.0.3.28 - Rev: 1229"
devicemanager.h/c: USB 1.1 und USB 2.0
uhci.h/c: attach to device manager as USB 1.1
ehic.c: USB 2.0strg+d provides correct results
TODO: enable/reset port does not yet work
-
version = "0.0.3.29 - Rev: 1230
in ckernel.c eine Ver./Rev. zu hoch
uhci.c: reset analog http://www.lvr.com/forum/index.php?topic=19.0
-
version = "0.0.3.30 - Rev: 1231
uhci.c: weiter testweise ausgebaut, läuft auf Test-PC und VMware Player ohne HChalted durch (kein Freeze!), in qemu noch ein unverständliches HChalted.
Screenshot auf VMWare Player: http://www.henkessoft.de/OS_Dev/Bilder/uhci.PNG
LEGSUP im Beispiel probeweise auf 0x0000 eingestellt (anstelle 0x2000).Portstatus nach enable: 0x0085 = 10000101
bit0: Current Connect Status ReadOnly. 1=Device is present on port. 0=No device is present.
bit2: Port Enabled/Disabled R/W. 1=Enable. 0=Disable. Ports can be enabled by host software only. <--- das haben wir gerade durchgeführt.
bit7: Reserved ReadOnly. Always read as 1.Nach diesem Ergebis empfehle ich uhci-Tests auf VMWarePlayer (war bei ehci ebenfalls der entscheidende Helfer) bzw. Hardware.
rtl8139.c: Filter gegen falsche interrupts eingebaut (in pcnet funktioniert analoge Vorgehensweise nicht?! MrX: bitte checken) - Auf Test-PC gibt es mit Netzwerk noch Probleme (#PF), aber nun rebootet er nicht mehr sofort, wenn Netzwerk verbunden ist, damit kann man das Problem einkreisen.
-
version = "0.0.3.31 - Rev: 1232"
uhci.c: Auswertung portstatus weiter entwickelt, LEGSUP auf 0x0000 gestellt
-
version = "0.0.3.32 - Rev: 1233"
uhci.c: Ausgaben verbessert
-
Version 0.0.3.33:
- Zusammenspiel von IRQs, PCI, Netzwerkadaptern und HCIs verbessert
- Übler Bug im UHCI-Handler beseitigt - Dieser ist nun nichtmehr tot
- IRQ-Filter im Netzwerkcode verbessert
- todolist aus UHCI entfernt