[PATCH 0/1] Add uvirtio for testing

Jason Wang
2020-04-29T09:56:47Z

On 2020/4/29 ??4:47, Lepton Wu wrote:
> This is a way to create virtio based devices from user space. This is the
> background for this patch:
>
> We have some images works fine under qemu, we'd like to also run the
same image
> on Google Cloud. Currently Google Cloud doesn't support virtio-vga. I
had a
> patch to create a virtio-vga from kernel directly:
> https://www.spinics.net/lists/dri-devel/msg248573.html
>
> Then I got feedback from Gerd that maybe it's better to change that to
something
> like uvirtio. Since I really don't have other use cases for now, I just
implemented the minimal stuff which work for my use case.


Interesting, several questions:

1) Are you aware of virtio vhost-user driver done by UM guys?
(arch/um/drivers/virtio_uml.c) The memory part is tricky but overall
both of you have similar target.
2) Patch 1 said it's userspace virtio driver, which I think it is
actually "userspace virtio device"
3) Need to be verbose on how the vring processing work in the commit log
of patch 1
4) I'm curious which testing you want to accomplish through this new
transport, I guess you want to test a specific virtio driver?
5) You mentioned that you may want to develop communication between
kernel and userspace, any more details on that?

Thanks


>
> Lepton Wu (1):
>    virtio: Add uvirtio driver
>
>   drivers/virtio/Kconfig        |   8 +
>   drivers/virtio/Makefile       |   1 +
>   drivers/virtio/uvirtio.c      | 405 ++++++++++++++++++++++++++++++++++
>   include/linux/uvirtio.h       |   8 +
>   include/uapi/linux/uvirtio.h  |  69 ++++++
>   samples/uvirtio/Makefile      |   9 +
>   samples/uvirtio/uvirtio-vga.c |  63 ++++++
>   7 files changed, 563 insertions(+)
>   create mode 100644 drivers/virtio/uvirtio.c
>   create mode 100644 include/linux/uvirtio.h
>   create mode 100644 include/uapi/linux/uvirtio.h
>   create mode 100644 samples/uvirtio/Makefile
>   create mode 100644 samples/uvirtio/uvirtio-vga.c
>