On Wed, May 27, 2020 at 08:05:36PM +0200, Guennadi Liakhovetski wrote:
v3:
- address several checkpatch warnings
- address comments from Mathieu Poirier
v2:
- update patch #5 with a correct vhost_dev_init() prototype
- drop patch #6 - it depends on a different patch, that is currently an RFC
- address comments from Pierre-Louis Bossart:
- remove "default n" from Kconfig
Linux supports RPMsg over VirtIO for "remote processor" /AMP use cases. It can however also be used for virtualisation scenarios, e.g. when using KVM to run Linux on both the host and the guests. This patch set adds a wrapper API to facilitate writing vhost drivers for such RPMsg-based solutions. The first use case is an audio DSP virtualisation project, currently under development, ready for review and submission, available at https://github.com/thesofproject/linux/pull/1501/commits A further patch for the ADSP vhost RPMsg driver will be sent separately for review only since it cannot be merged without audio patches being upstreamed first.
RPMsg over virtio has several problems. One is that it's not specced at all. Before we add more stuff, I'd like so see at least an attempt at describing what it's supposed to do.
Another it's out of line with 1.0 spec passing guest endian data around. Won't work if host and guest endian-ness do not match. Should pass eveything in LE and convert.
It's great to see it's seeing active development finally. Do you think you will have time to address these?
Thanks Guennadi
Guennadi Liakhovetski (5): vhost: convert VHOST_VSOCK_SET_RUNNING to a generic ioctl vhost: (cosmetic) remove a superfluous variable initialisation rpmsg: move common structures and defines to headers rpmsg: update documentation vhost: add an RPMsg API
Documentation/rpmsg.txt | 6 +- drivers/rpmsg/virtio_rpmsg_bus.c | 78 +------- drivers/vhost/Kconfig | 7 + drivers/vhost/Makefile | 3 + drivers/vhost/rpmsg.c | 382 +++++++++++++++++++++++++++++++++++++++ drivers/vhost/vhost.c | 2 +- drivers/vhost/vhost_rpmsg.h | 74 ++++++++ include/linux/virtio_rpmsg.h | 81 +++++++++ include/uapi/linux/rpmsg.h | 3 + include/uapi/linux/vhost.h | 4 +- 10 files changed, 559 insertions(+), 81 deletions(-) create mode 100644 drivers/vhost/rpmsg.c create mode 100644 drivers/vhost/vhost_rpmsg.h create mode 100644 include/linux/virtio_rpmsg.h
-- 1.9.3