On 09-05-23, 16:05, Anthony PERARD wrote:
I guess the way virtio devices are implemented in libxl suggest to me that the are just Xen PV devices. So I guess some documentation in the tree would be useful, maybe some comments in libxl_virtio.c.
Our use case is just PV devices, not sure if someone else may want to use it differently.
I will add the comment.
The eventual fronend drivers (like drivers/i2c/busses/i2c-virtio.c) aren't Xen aware and the respective virtio protocol doesn't talk about how memory is mapped for the guest. The guest kernel allows both memory mapping models and the decision is made based on the presence or absence of the iommu node in the DT.
So, virtio's frontend don't know about xenstore?
Right.
In this case, there's no need to have all those nodes in xenstore under the frontend path.
Yeah, I ended up copying them from disk or kbd I guess, but I am not using them for sure.
I guess the nodes for the backends are at least somewhat useful for libxl to reload the configuration of the virtio device. But even that isn't probably useful if we can't hot-plug or hot-unplug virtio devices.
Are the xenstore node for the backend actually been used by a virtio backend?
Yes, I am using them on the backend side to read device information whenever a new guest comes in with a bunch of devices.