Hardware > Hardware (High-End)

Milan und USB

<< < (8/13) > >>

Wosch:
Vielleicht mal bei Uwe Schneider nachfragen?
https://www.uweschneider.de/Projekte_Milan.php
Gruß
Wolfgang

Chocco:

--- Zitat von: Arthur am Mi 10.03.2021, 17:41:03 ---Hier zum Milan PCI

--- Ende Zitat ---

Vielen Dank, hier wird die Sache ja mal richtig gut erklärt! Ich frage mich, wie ermittelt das PCI-BIOS beim Booten, an welchen Adressen nach DeviceID und VendorIDs gesucht werden muss? Ist das im Controller hart verdrahtet oder besitzt der Controller ebenfalls ein kleines EPROM, in dem die Adressen abgelegt sind?

Arthur:
Evtl. hilft das:

Alle PCI-Spezifikationen enthalten eine vollständige Plug-And-Play-Unterstützung, das heißt, das Computer-BIOS oder das Betriebssystem kann feststellen, welche Ressourcen (Speicherbereiche, I/O-Adressen, Interrupt-Leitungen) eine solche Karte benötigt und diese so zuteilen, dass keine Konflikte zwischen den Karten entstehen.

Jede PCI-Karte wird durch einen eindeutigen Hersteller-Code (Vendor ID) identifiziert, welcher dem Hersteller durch die PCI SIG zugeteilt wurde, sowie durch eine Baugruppen-Nummer (Device ID), die jeder Hersteller für seine Karten frei vergeben kann. Dadurch ist die zugehörige Treiber-Software in der Lage, von ihr unterstützte Baugruppen sicher zu identifizieren.

mfro:

--- Zitat von: Chocco am Do 11.03.2021, 19:45:46 ---Ich frage mich, wie ermittelt das PCI-BIOS beim Booten, an welchen Adressen nach DeviceID und VendorIDs gesucht werden muss? Ist das im Controller hart verdrahtet oder besitzt der Controller ebenfalls ein kleines EPROM, in dem die Adressen abgelegt sind?

--- Ende Zitat ---
Das ist im Datenblatt zum PLX9080 (S. 16ff) eigentlich recht gut erklärt. Es wird eben nicht an bestimmten Adressen nach irgendwas gesucht, sondern die Karten (bzw. die PCI-Slots) werden aktiv abgefragt.
Dazu wird der PCI-Controller in den "Configuration Space Access"-Modus gebracht. Dann wird für jeden Slot versucht, das VendorID/DeviceID-Register auszulesen (das Register ist auf der PCI-Karte). Wenn da was anderes als $FFFF_FFFF steht (das ist eine ungültige VID/DID-Kombination, die für "nix da" steht), steckt in diesem Slot eine Karte, die konfiguriert werden kann/muss.

Gelesen/geschrieben werden also immer Register des Controllers, der dann seinerseits Register auf der Karte (so vorhanden) liest/schreibt.

Arthur:
PDF vom VT6212L PCI USB 2.0 da steht das der auch  "Serial EEPROM Support for Boot Register Update" hat. Und in der Wiki https://de.wikipedia.org/wiki/Peripheral_Component_Interconnect gibt es auch eine gute Übersicht.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln