What bothers me here is that arch code depends on virtio now.
It works even with a modular virtio when functions are inline,
but it seems fragile: e.g. it breaks virtio as an out of tree module,
since layout of struct virtio_device can change.
The code was only called from virtio.c so it should be fine.
And my understanding is that we don't need to care about the kABI issue
during upstream development?
No, but so far it has been convenient at least for me, for development,
to just be able to unload all of virtio and load a different version.
I'm not sure what to do with this yet, will try to think about it
over the weekend. Thanks!