[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Virtio on Xen with Rust




On 29.04.22 06:48, Viresh Kumar wrote:


Hello Viresh

On 28-04-22, 16:52, Oleksandr Tyshchenko wrote:
Great work!
Thanks Oleksandr.

I skimmed through your toolstack patches, awesome, you created a completely
new virtual device "I2C".
I have also created GPIO now :)

Awesome!



What should I do about these patches ? Send them to xen list ? I can at least
send the stuff which doesn't depend on your series ?

Below my understanding, which might be wrong)


I think, the best case scenario - is to try to get these features upstreamed. I expect a possible interest to virtulized I2C/GPIO devices on Xen, especially in embedded environment where the passthrough of dedicated I2C/GPIO controller to the guest is not possible for some reason (clocks, pins, power domains, etc). But I do understand it most likely takes some time. If upsteaming this stuff is not your primary target, then I think, such patch series deserves to be sent to the Xen mailing list anyway for someone who is interested in the topic to give it a try. For example, you can send RFC version saying in cover letter that it depends on non-upsteamed yet stuff to start discussion.




FYI, I have updated "Virtio support for toolstack on Arm" [1] since (to
make it more generic), now V7 is available and I have a plan to push V8
soon.
I will surely have a look, thanks.

FYI, currently we are working on one feature to restrict memory access
using Xen grant mappings based on xen-grant DMA-mapping layer for Linux [1].
And there is a working PoC on Arm based on an updated virtio-disk. As for
libraries, there is a new dependency on "xengnttab" library. In comparison
with Xen foreign mappings model (xenforeignmemory),
the Xen grant mappings model is a good fit into the Xen security model,
this is a safe mechanism to share pages between guests.
Right, I was aware of this work but didn't dive into it yet. We will surely need
to do that eventually, lets see when I will be able to get to that. The current
focus is the get the solution a bit more robust (so it can be used with any
device) and upstream it to rust-vmm space on github.

ok, I see. I understand your point, your primary target is hypervisor-agnostic Rust based backend(s) to be applicable for any device.




With Xen grant mappings, if I am not mistaken, it is going to be almost the
same: mmap() then ioctl(). But the file will be "/dev/xen/gntdev".
Okay, the problem (for us) still exists then :)

It seems, yes.


FYI, new branch "virtio_grant" besides supporting Xen grant mappings also
supports virtio-mmio modern transport.
Somehow the timing of your emails have been spot on.

Last time, when you told me about the "dev" branch, I have already started to
reinvent the wheel and your branch really helped.

Now, it was just yesterday that I started looking into MMIO modern stuff as the
GPIO device needs it and you sent me working code to look how to do it as well.
You saved at least 1-2 days of my time :)

Great, I'm glad to hear it.



Thanks Oleksandr.

--
Regards,

Oleksandr Tyshchenko




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.