On 14-04-22, 14:45, Viresh Kumar wrote:
Hello,
We verified our hypervisor-agnostic Rust based vhost-user backends with Qemu based setup earlier, and there was growing concern if they were truly hypervisor-agnostic.
In order to prove that, we decided to give it a try with Xen, a type-1 bare-metal hypervisor.
We are happy to announce that we were able to make progress on that front and have a working setup where we can test our existing Rust based backends, like I2C, GPIO, RNG (though only I2C is tested as of now) over Xen.
An update to this, I have successfully tested GPIO backend as well with this setup now and pushed out everything.
- GPIO required two virtqueues instead of one as in case of I2C.
- GPIO requires to do configuration exchange as well, while I2C didn't.
- The latest code supports MMIO V2, modern.
- The Xen vhost master is fully device independent now and a device type can be chosen based on just the command line itself. It would be simple to test RNG or other backends with this now (we just need to update "enum VirtioDeviceType" in vhost-user-master crate for this, with device specific information). Of course we need to emulate device in Xen too.
Hope this helps.