COSC562 Lab: Build Device Drivers for PCI and VirtIO from Scratch

Device Drivers lab exercise – COSC562

A university lab exercise that walks through writing device drivers for virtual PCI and VirtIO devices. It covers the ECAM configuration mechanism, PCI address layout, capability lists, MSI-X interrupts, and VirtIO-specific capabilities, with Rust code examples for wrapping ECAM structures and calculating offsets. Students implement initialization handoff from PCI to VirtIO and log devices in a kernel registry.

VirtIO devices are paravirtualized devices. Since paravirtualized devices know they are virtual, they are easier to configure, and they are more efficient to drive.

More from this day

2026-09-13