HeadlinesBriefing favicon HeadlinesBriefing.com

Gerätetreiber-Labor COSC562 - PCI und VirtIO Leitfaden

Hacker News •
×

Gerätetreiber-Labor COSC562 - Stephen Marz

Dieses Labor deckt PCI und VirtIO Gerätetreiber ab. Der Hauptgerätebus ist PCI, der den Enhanced Configuration Access Mechanism (ECAM) für Konfiguration und Zugriff verwendet. PCI-X ist ein Upgrade des ursprünglichen PCI mit paralleler Architektur, während PCI Express (PCIe) eine serielle, punkt-zu-punkt-Architektur verwendet.

Die physische ECAM-Adresse stammt aus ACPI über das MCFG-Tabelle, die die startenden und endenden Busnummern bereitstellt. PCI-Adressen sind mit Bus-, Geräte-, Funktions- und Register-Komponenten strukturiert. Jedes Gerät hat 65.536 Bytes ECAM-Space, und jede Bus hat 1.048.576 Bytes.

Die Laborarbeit beinhaltet die Initialisierung von Geräten über PCI zu VirtIO-Übergabe, dann VirtIO zu Untergeräten. Sie werden alle Geräte unter dem globalen Kernel-Geräte-Datenregister registrieren, die alloc-Bibliothek für Heap-Zuweisung verwenden. Wichtige Abschnitte umfassen PCI-Adressstruktur, ECAM-Struktur, Fähigkeiten, MSI-X-Fähigkeit und VirtIO-Initialisierung.

Wichtige Entitäten: Personen: Stephen Marz