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
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization