This is a little wierd since it's specific to the balloon driver. The
virtio design is to make transport and device orthogonal so we could
mix'n'match any driver with any transport, but this will only work with
the balloon driver. It's also 640 lines while the original balloon
driver is ~300. Some of that is because you're emulating a queue that
doesn't really exist, IIUC.
So while I'd love to see other hypervisors adopt virtio, I think in this
case it makes more sense to have your own balloon driver.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
--