On Wed, Feb 23, 2022 at 12:28:36PM +0200, el16095 wrote: > I've been working on a NetBSD-based unikernel and trying to make it > compatible with the Firecracker VMM. Seeing as Firecracker only supports the > MMIO transport method for VirtIO, I wanted to implement MMIO support for my > unikernel. > > I've seen that newer versions of NetBSD than what my source code was using > have code for MMIO and specifically that Virtio MMIO support was implemented > for ARM in NetBSD 9.0. So, what I want to ask is there similar support for > amd64 also and if not are there some basics I could imitate from how it was > implemented for ARM to get it working for amd64 also? Alternatively, is > there any reading material you can suggest that explains how the device > system works in NetBSD, so that I might possibly understand what changes > would be needed by myself?
There shouldn't be anything preventing our existing Virtio MMIO via ACPI code from working on amd64 in -current. Probably just needs enabling and testing. The "virtio* at acpi?" attachment is not currently included in the i386 or amd64 GENERIC kernels however. I don't even know that Firecracker informs the guest about Virtio MMIO devices via ACPI (or FDT). If not, you'll need to create glue code similar to virtio_acpi.c or virtio_mmio_fdt.c.