Diskussion:RTL8139

Aus Lowlevel
Wechseln zu: Navigation, Suche

Man soll die IO-Ports von PCI Treiber holen. Hier wird aber sehr spärlich beschrieben, wie viele BAR's diese Karte anbietet und welcher davon der richtige ist. Hier wäre eine Nachbesserung gut. --Programm Noob 23:12, 8. Sep. 2010 (CEST)

Das ist nicht fest, die Anordnung der BARs könnte sich von HW-Revision zu HW-Revision ändern (es könnte z.B. auf 64Bit-BARs umgestellt werden). Dein Treiber muss die Liste der angebotenen Ressourcen (so eine wie z.B. CDI sie übergibt) nach dem gesuchten durcharbeiten, also z.B. nach einer I/O-Ressource mit der Größe x suchen, und diese bindest Du dann ein.--Erik.vikinger 08:02, 9. Sep. 2010 (CEST)
Dann müsste hier aber angegeben werden, nach was für einer ressouce gesucht werden muss. --Programm Noob 08:33, 9. Sep. 2010 (CEST)
Da hast Du allerdings recht. Auf der anderen Seite habe ich den subjektiven Eindruck (nachdem ich den Artikel gerade gelesen hab) das der RTL8139 nur eine I/O-Ressource anbietet und das sollte sich doch exakt feststellen lassen indem man prüft ob die Ressourcen-Liste nur genau eine Ressource enthält und diese vom Typ I/O ist wenn ja dann ist doch alles klar. Falls es da Unstimmigkeiten gibt sollte man mal das offizielle Datenblatt lesen (und die Erkenntnisse in diesen Artikel übernehmen).--Erik.vikinger 09:54, 9. Sep. 2010 (CEST)
Ich hab gerade mal das Datenblatt (welches im Artikel verlinkt ist) überflogen und da werden 2 Ressourcen, einmal I/O und einmal Memory, erklärt und bei der Register-Erklärung kann man lesen das man sich quasi aussuchen darf welchen der beiden Wege man benutzen möchte (vermutlich funktioniert es sogar wenn man beides gemixt benutzt, solange der Speicher-Bereich nicht gecached wird was aber das gelöschte Prefetchable-Bit im Memory-BAR ganz klar definiert). Wenn Du also auf einen RTL8139 stößt der nicht eine I/O-Ressource und eine Memory-Ressource hat und beide nicht gleich groß sind dann hast Du ein Problem ansonsten such Dir eins aus und arbeite damit.--Erik.vikinger 10:12, 9. Sep. 2010 (CEST)