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.
  1. vivzkestrel

    stupid question once again

    - as a guy who knows a little c++ and absolutely nothing about kernels and drivers

    - what are some top tier guides you recommend that explains how drivers are made, how low level programming is done and more importantly the why behind many many assumptions

  2. brcmthrowaway

    Why is this here?

More from this day

2026-09-13