Ein Uni-Labor bringt Studenten bei, wie man echte Gerätetreiber für virtuelle Hardware schreibt
Device Drivers lab exercise – COSC562
In diesem Labor der University of Tennessee lernen Studierende, PCI- und VirtIO-Geräte im Kernel anzusteuern. Sie finden die ECAM-Basis über die ACPI-MCFG-Tabelle, durchlaufen Busse und Slots, prüfen Vendor- und Device-IDs und aktivieren MSI-X. Anschließend konfigurieren sie VirtIO-Geräte über herstellerspezifische Capabilities und registrieren alles im globalen Geräteregister. Der Code ist in Rust geschrieben, mit Fokus auf unsichere Speicherzugriffe und manuelle Typkonvertierungen.
VirtIO-Geräte sind paravirtualisierte Geräte. Da paravirtualisierte Geräte wissen, dass sie virtuell sind, sind sie einfacher zu konfigurieren und effizienter anzusteuern.