Sourcecode Fortschritt
-
Rev. 198:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=198ehci.c: USB-Transfer-Test (leider noch nicht erfolgreich)
-
Rev. 199:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=199ehci.c: USB-Transfer-Test (leider noch nicht erfolgreich, aber ein Fehler in Struktur qtd_token korrigiert)
-
Rev. 200:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=200ehci.c: Fehler im MM bei EHCI/USB behoben, funktioniert aber noch nicht wie erwartet. Bitte um Mithilfe bei der Fehlersuche.
-
Rev. 201:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=201ehci.c: Zwischenschritt
-
Rev. 202:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=202ehci.c: Zwischenschritt
Zirkuläre Async-List
-
Rev. 203:
ehci.c Analyse-Zwischenschritt
-
Rev. 204:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=204ehci.c: Analyse der Inhalte von QH, QTD und Buffer-Pointer verbessert, damit die erwünschte Wirkung gezielter herbei geführt werden kann.
Screenshot: http://www.henkessoft.de/OS_Dev/Bilder/rev205.PNG
-
Du hast ja ziemliche Mühe damit. Hier mal ein Beispiel: http://research.microsoft.com/en-us/um/redmond/projects/invisible/src/drivers/serial/usb/master/ehci/ehci.c.htm
-
Rev. 205:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=205- time.c: mehrfacher Code (5x fast identisch) in Funktion ausgelagert
-
@Z: Tobiking und ich quälen uns momentan etwas herum, aber wir kommen vorwärts.
Diesen MS-Code kennen wir schon, bringt mich aber nicht wirklich weiter.
Was soll ich z.B. damit?/* Initialize the aperiodic list * NB: This is the endpoint #0 used during configuration, we only * initialize here only the fields that will not change. */ EhciWriteRegister(&Qhead->Ed.Next, VirtualToPhysical(Qhead) | EHCI_POINTER_TYPE_QH); EhciWriteRegister(&Qhead->Ed.EndpointCaps, (1 << EHCI_QH_RL_SHIFT) | (8 << EHCI_QH_MPS_SHIFT) | EHCI_QH_H | EHCI_QH_DTC | EHCI_QH_480Mbps ); EhciWriteRegister(&Qhead->Ed.TransferOverlay.Next, EHCI_POINTER_TYPE_TERMINATOR); EhciWriteRegister(&Qhead->Ed.TransferOverlay.Alternate, EHCI_POINTER_TYPE_TERMINATOR);
-
Erhard Henkes schrieb:
Was soll ich z.B. damit?
Als Beispiel verwenden, analysieren und verstehen.
Sonst seid ihr nächstes Jahr noch nicht fertig.
-
Ich zitiere mal Tobiking aus dem IRC:
Gerade MS Code würde ich nicht nehmen ^^
Dennoch, wenn es hakt, schauen wir da schon rein. ehci.h fand ich dort ganz gut, weil man ein Gefühl für die notwendigen Strukturen und Defines bekommt. Sind aber auch Fehler drinnen, die ich bereits gesehen habe.
Wir wühlen uns durch die Specs von EHCI und USB 2.0. Das reicht erstmal an Infos. Eher zuviel als zu wenig.
-
Rev. 206:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=206EHCI /USB Zwischenschritt
Transaktionen funktionieren noch nicht.
-
Ich möchte ja kein Spielverderber oder Schwarzseher sein, aber vom Microsoftcode würde ich wirklich die Finger lassen. Inwieweit Linuxcode ansehen und den als Anleitung für ein BSD-OS zu nehmen schlimm ist, weiß ich nicht (denke nicht allzu schlimm), aber der MS-Code ist mit einem "All rights reserved" gekennzeichnet. Ich denke zwar nicht, dass MS euch deshalb verfolgen wird, aber trotzdem ist es rechtlich eher problematisch, sich den vorzunehmen, könnte ich mir vorstellen...
-
Wir möchten das ja auch selbst verstehen und lösen. Bei EHCI und USB 2.0 kommt es echt auf den Durchblick und das Verstehen der Abläufe an. Irgendwo haben wir einen Mechanismus - vermutlich bei EHCI - noch nicht verstanden.
Einer meiner PCs zeigt ja auch noch J-State anstelle 0x1004 oder 0x1005 (high speed enabled). VBox läuft nicht richtig.
Ich hoffe nur, dass die physikalische Adresse, die VMM zurück gibt, ok ist.
-
Rev. 207:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=207ehci.c:
die allokierten Bereiche auf dem Heap werden mit memset(...) durchgängig auf 0 gesetzt.EHCI /USB Zwischenschritt, Transaktion läuft noch nicht.
-
Rev. 208:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=208- Wochentage werden nun (aufgrund unterschiedlicher zählweisen unterschiedlicher cmos) berechnet statt ausgelesen.
-
XanClic schrieb:
Ich möchte ja kein Spielverderber oder Schwarzseher sein, aber vom Microsoftcode würde ich wirklich die Finger lassen. Inwieweit Linuxcode ansehen und den als Anleitung für ein BSD-OS zu nehmen schlimm ist, weiß ich nicht (denke nicht allzu schlimm), aber der MS-Code ist mit einem "All rights reserved" gekennzeichnet. Ich denke zwar nicht, dass MS euch deshalb verfolgen wird, aber trotzdem ist es rechtlich eher problematisch, sich den vorzunehmen, könnte ich mir vorstellen...
Du sollst ihn auch nicht kopieren, sondern davon lernen.
-
Z schrieb:
XanClic schrieb:
Ich möchte ja kein Spielverderber oder Schwarzseher sein, aber vom Microsoftcode würde ich wirklich die Finger lassen. Inwieweit Linuxcode ansehen und den als Anleitung für ein BSD-OS zu nehmen schlimm ist, weiß ich nicht (denke nicht allzu schlimm), aber der MS-Code ist mit einem "All rights reserved" gekennzeichnet. Ich denke zwar nicht, dass MS euch deshalb verfolgen wird, aber trotzdem ist es rechtlich eher problematisch, sich den vorzunehmen, könnte ich mir vorstellen...
Du sollst ihn auch nicht kopieren, sondern davon lernen.
Ich weiß nicht, ob es das besser macht.
-
XanClic schrieb:
Z schrieb:
XanClic schrieb:
Ich möchte ja kein Spielverderber oder Schwarzseher sein, aber vom Microsoftcode würde ich wirklich die Finger lassen. Inwieweit Linuxcode ansehen und den als Anleitung für ein BSD-OS zu nehmen schlimm ist, weiß ich nicht (denke nicht allzu schlimm), aber der MS-Code ist mit einem "All rights reserved" gekennzeichnet. Ich denke zwar nicht, dass MS euch deshalb verfolgen wird, aber trotzdem ist es rechtlich eher problematisch, sich den vorzunehmen, könnte ich mir vorstellen...
Du sollst ihn auch nicht kopieren, sondern davon lernen.
Ich weiß nicht, ob es das besser macht.
Kommt wohl auf die Person an. Ich jedenfalls finde fremde Code-Beispiele oft sehr hilfreich.