The Doorbell That Killed the Device: Writing OpenBSD's Missing ena(4) Driver
A weeks ago I wrote about getting native OpenBSD/arm64 builds on Graviton by refusing to let OpenBSD touch AWS's network card at all — running it as a QEMU guest behind a virtio shim, because OpenBSD has no driver for Amazon's ENA adapter. This is the other half of that itch: actually writing the driver. It's the story of getting ena(4) to attach, watching the device kill itself a few microseconds after every bring-up, chasing five increasingly exotic theories for why, and finding that the real cause was the most boring thing imaginable — I initialized a queue in the wrong order. Plus the part nobody writes down: what "working" actually means, and exactly how far from "done" that still is.