All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
Cc: Bill Mills <bill.mills@linaro.org>,
	virtio-comment@lists.linux.dev,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Alex Bennee <alex.bennee@linaro.org>,
	Armelle Laine <armellel@google.com>
Subject: Re: [PATCH v1 0/4] virtio-msg transport layer
Date: Tue, 3 Feb 2026 14:55:31 -0500	[thread overview]
Message-ID: <20260203145523-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <aYJQ8HK2J1nGifEy@zapote>

On Tue, Feb 03, 2026 at 08:48:00PM +0100, Edgar E. Iglesias wrote:
> On Tue, Feb 03, 2026 at 08:21:01AM -0500, Michael S. Tsirkin wrote:
> > On Mon, Jan 26, 2026 at 11:32:26AM -0500, Bill Mills wrote:
> > > This series adds the virtio-msg transport layer.
> > > 
> > > The individuals and organizations involved in this effort have had difficulty in
> > > using the existing virtio-transports in various situations and desire to add one
> > > more transport that performs its transport layer operations by sending and
> > > receiving messages.
> > 
> > Is it arm and linaro, or more?
> > If more, could we get some acks on list from the people involved?
> > 
> >
> 
> AMD is also involved, I've acked patches 1, 3, and 4 (patch 2 has my Signed-off-by).
> 
> Cheers,
> Edgar
> 

Thank you

> 
> > > Implementations of virtio-msg will normally be done in multiple layers:
> > > * common / device level
> > > * bus level
> > > 
> > > The common / device level defines the messages exchanged between the driver
> > > and a device. This common part should lead to a common driver holding most
> > > of the virtio specifics and can be shared by all virtio-msg bus implementations.
> > > The kernel implementation in [3] shows this separation. As with other transport
> > > layers, virtio-msg should not require modifications to existing virtio device
> > > implementations (virtio-net, virtio-blk etc). The common / device level is the
> > > main focus of this version of the patch series.
> > > 
> > > The virtio-msg bus level implements the normal things a bus defines
> > > (enumeration, dma operations, etc) but also implements the message send and
> > > receive operations. A number of bus implementations are envisioned,
> > > some of which will be reusable and general purpose. Other bus implementations
> > > might be unique to a given situation, for example only used by a PCIe card
> > > and its driver.
> > > 
> > > The standard bus messages are an effort to avoid different bus implementations
> > > doing the same thing in different ways for no good reason. However the
> > > different environments will require different things. Instead of trying to
> > > anticipate all needs and provide something very abstract, we think
> > > implementation specific messages will be needed at the bus level. Over time,
> > > if we see similar messages across multiple bus implementations, we will move to
> > > standardize a bus level message for that.
> > > 
> > > We are working on a few reusable bus implementations:
> > > 
> > > * virtio-msg-ffa based on Arm FF-A interface for use between:
> > >   * normal world and secure world
> > >   * host and VM or VM to VM
> > >   * Can be used w/ or with out a hypervisor
> > >   * Any Hypervisor that implements FF-A can be used
> > >   * We have this working with pKVM and Xen
> > >   * We have this working with Trusty and OP-TEE
> > > 
> > > * virtio-msg-amp for use between heterogenous systems
> > >   * The main processors and its co-processors on an AMP SOC
> > >   * Two or more systems connected via PCIe
> > >   * Minimal requirements: bi-directional interrupts and
> > >     at least one shared memory area
> > >   * hvac-demo has 2 demos of this
> > >   * This is working on two hardware platforms
> > > 
> > > * virtio-msg-loopback for userspace implemented devices
> > >   * Allows user space to provide devices to its own kernel
> > >   * This is similar to fuse, cuse or loopback block devices but for virtio
> > >   * hvac-demo has a demo
> > > 
> > > We also anticipate a few more:
> > > 
> > > * virtio-msg-xen specific to Xen
> > >   * Usable on any Xen system (including x86 where FF-A does not exist)
> > >   * Using Xen events and page grants
> > > 
> > > * virtio-msg over admin virtqueues
> > >   * This allows any virtio-pci device that supports admin virtqueues to also
> > >     support a virtio-msg bus that supports sub devices
> > >   * [We are looking for collaborators for this work]
> > > 
> > > Changes since RFC2:
> > > 
> > > Spec Functional:
> > > * Made the common message header 8 bytes and added a token for optional use
> > >   when parallel outstanding requests are possible
> > > * Made the 8 byte fields align to 8 byte offsets.
> > >   This effects the {SET,GET}_VQUEUE messages
> > > * Many conformance cases have been tightened.
> > > 
> > > Spec Editorial:
> > > * Major restructure to better align with virtio spec
> > >   * Conformance model now matches other transports
> > >   * Use C structures to define messages instead of tables
> > > * Added a section to describe how responses are matched to requests
> > >   This includes the use of the new token field
> > > * Redefined / better described error handling between transport and bus
> > >   layers to eliminate the need for the bus to generate fake response messages
> > > * Included editorial feedback from RFC2
> > > 
> > > Eco-system:
> > > * Added virtio-msg-loopback demo
> > > * Arm has published the first draft of the virtio-msg over FFA spec [6]
> > > * virtio-msg over FFA has been demonstrated with both Trusty and OP-TEE
> > >   secure world
> > > * LKML RFC has been sent [7]
> > > * QEMU RFC has been sent [8]
> > > 
> > > This is the first non-RFC patch series. The known short comings have been
> > > addressed. We ask for review in earnest on this series and thank you for
> > > any feedback you can provide.
> > > 
> > > Background info and work in progress implementations:
> > > * HVAC project page with intro slides [1]
> > > * HVAC demo repo w/ instructions in README.md [2]
> > > * Kernel w/ virtio-msg common level and ffa support [3]
> > > * QEMU w/ support for one form of virtio-msg-amp [4]
> > > * Portable RTOS library w/ one form of virtio-msg-amp [5]
> > > 
> > > In addition to the QEMU system based demos in the hvac-demo repo, we also have
> > > two hardware systems running:
> > > * AMD x86 + AMD Arm Versal connected via PCIe
> > > * ST STM32MP157 A7 Linux using virtio-i2c provided by M4 Zephyr
> > > 
> > > Please note that although the demos work, a few have not been aligned
> > > with this version of the spec.
> > > 
> > > [1] https://linaro.atlassian.net/wiki/spaces/HVAC/overview
> > > [2] https://github.com/wmamills/hvac-demo
> > > [3] https://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux.git/log/?h=virtio/msg
> > > [4] https://github.com/edgarigl/qemu/commits/edgar/virtio-msg-rfc/
> > > [5] https://github.com/arnopo/open-amp/commits/virtio-msg/
> > > [6] https://documentation-service.arm.com/static/68f647791134f773ab3f0a7c
> > > [7] https://lore.kernel.org/all/cover.1753865268.git.viresh.kumar@linaro.org/
> > > [8] https://mail.gnu.org/archive/html/qemu-devel/2025-10/msg07438.html
> > > 
> > > Bertrand Marquis (2):
> > >   virtio-msg: add new command for bus normative
> > >   virtio-msg: add conformance entries in conformance chapter
> > > 
> > > Bill Mills (2):
> > >   virtio-msg: Add virtio-msg, a message based virtio transport layer
> > >   virtio-msg: link virtio-msg content
> > > 
> > >  commands.tex      |    3 +-
> > >  conformance.tex   |  105 ++-
> > >  content.tex       |    1 +
> > >  transport-msg.tex | 1640 +++++++++++++++++++++++++++++++++++++++++++++
> > >  4 files changed, 1746 insertions(+), 3 deletions(-)
> > >  create mode 100644 transport-msg.tex
> > > 
> > > -- 
> > > 2.34.1
> > > 
> > 


  reply	other threads:[~2026-02-03 19:55 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-26 16:32 [PATCH v1 0/4] virtio-msg transport layer Bill Mills
2026-01-26 16:32 ` [PATCH v1 1/4] virtio-msg: add new command for bus normative Bill Mills
2026-02-03 19:42   ` Edgar E. Iglesias
2026-01-26 16:32 ` [PATCH v1 2/4] virtio-msg: Add virtio-msg, a message based virtio transport layer Bill Mills
2026-02-06 16:28   ` Peter Hilber
2026-02-10  9:39     ` Bertrand Marquis
2026-02-12 11:16       ` Peter Hilber
2026-02-20  8:23         ` Bertrand Marquis
2026-02-26 13:53           ` Peter Hilber
2026-02-13 19:09   ` Demi Marie Obenour
2026-02-20  8:52     ` Bertrand Marquis
2026-02-21  2:04       ` Demi Marie Obenour
2026-02-23  7:44         ` Bertrand Marquis
2026-02-24 15:41   ` Demi Marie Obenour
2026-02-24 16:14     ` Bertrand Marquis
2026-02-24 17:36     ` Edgar E. Iglesias
2026-02-24 17:14   ` Demi Marie Obenour
2026-02-24 17:20     ` Bertrand Marquis
2026-02-24 17:46       ` Demi Marie Obenour
2026-02-25  7:26         ` Bertrand Marquis
2026-02-25 12:36   ` Demi Marie Obenour
2026-02-25 12:46     ` Bertrand Marquis
2026-01-26 16:32 ` [PATCH v1 3/4] virtio-msg: link virtio-msg content Bill Mills
2026-02-03 19:43   ` Edgar E. Iglesias
2026-01-26 16:32 ` [PATCH v1 4/4] virtio-msg: add conformance entries in conformance chapter Bill Mills
2026-02-03 19:43   ` Edgar E. Iglesias
2026-01-26 21:47 ` [PATCH v1 0/4] virtio-msg transport layer Demi Marie Obenour
2026-02-03 13:21 ` Michael S. Tsirkin
2026-02-03 19:48   ` Edgar E. Iglesias
2026-02-03 19:55     ` Michael S. Tsirkin [this message]
2026-02-04  8:33   ` Bertrand Marquis
2026-02-04 13:50   ` Arnaud POULIQUEN
2026-02-04  3:29 ` Viresh Kumar
2026-02-04  5:34 ` Manivannan Sadhasivam
2026-02-13 13:52 ` Parav Pandit
2026-02-13 19:45   ` Demi Marie Obenour
2026-02-19 17:31     ` Armelle Laine
2026-02-20  8:55     ` Bertrand Marquis
2026-02-19 23:54   ` Michael S. Tsirkin
2026-02-20  6:13     ` Parav Pandit
2026-02-20  9:02       ` Bertrand Marquis
2026-02-25  7:45         ` Manivannan Sadhasivam
2026-02-25  8:03           ` Bertrand Marquis
2026-02-25  8:12             ` Michael S. Tsirkin
2026-02-25 10:06             ` Manivannan Sadhasivam
2026-02-25 10:10               ` Michael S. Tsirkin
2026-02-25 10:14               ` Bertrand Marquis
2026-02-25 10:22               ` Michael S. Tsirkin
2026-02-25 10:53                 ` Manivannan Sadhasivam
2026-02-25 10:24               ` Parav Pandit
2026-02-25 10:35                 ` Bertrand Marquis
2026-02-25 10:52                   ` Michael S. Tsirkin
2026-02-25 10:55                     ` Bertrand Marquis
2026-02-25 10:58                       ` Michael S. Tsirkin
2026-02-25 14:45                   ` Parav Pandit
2026-02-25 14:49                     ` Michael S. Tsirkin
2026-02-25 14:53                       ` Bertrand Marquis
2026-02-25 15:00                         ` Parav Pandit
2026-02-25 15:07                           ` Parav Pandit
2026-02-25 15:12                             ` Bertrand Marquis
2026-02-25 15:15                               ` Michael S. Tsirkin
2026-02-25 15:36                               ` Demi Marie Obenour
2026-02-25 15:40                                 ` Bertrand Marquis
2026-02-25 15:48                                   ` Demi Marie Obenour
2026-02-25 15:51                                     ` Bertrand Marquis
2026-02-25 16:15                                       ` Demi Marie Obenour
2026-02-26  5:40                               ` Manivannan Sadhasivam
2026-02-26  7:05                                 ` Bertrand Marquis
2026-02-25 15:11                           ` Manivannan Sadhasivam
2026-02-25 15:15                             ` Parav Pandit
2026-02-26  5:36                               ` Manivannan Sadhasivam
2026-02-26  5:59                                 ` Parav Pandit
2026-02-26  6:19                                   ` Manivannan Sadhasivam
2026-02-26  7:01                                 ` Bertrand Marquis
2026-02-26  7:28                                   ` Manivannan Sadhasivam
2026-02-26 19:20                                 ` Demi Marie Obenour
2026-02-26 22:08                                   ` Edgar E. Iglesias
2026-02-25 15:23                           ` Demi Marie Obenour
2026-02-25 16:42                         ` Edgar E. Iglesias
2026-02-25 12:53           ` Demi Marie Obenour
2026-02-25 13:09             ` Manivannan Sadhasivam
2026-02-25 13:12               ` Demi Marie Obenour
2026-02-25 13:29                 ` Bertrand Marquis
2026-02-25 15:19                   ` Demi Marie Obenour
2026-02-25 15:27                     ` Bertrand Marquis
2026-02-20 10:03       ` Michael S. Tsirkin
2026-02-25  5:09         ` Parav Pandit
2026-02-25  7:25           ` Michael S. Tsirkin
2026-02-25  9:18             ` Parav Pandit
2026-02-25  9:22               ` Michael S. Tsirkin
2026-02-25  9:35                 ` Bertrand Marquis
2026-02-25  9:54                   ` Michael S. Tsirkin
2026-02-25 10:01                     ` Bertrand Marquis
2026-02-25 10:08                       ` Michael S. Tsirkin
2026-02-20  8:58     ` Bertrand Marquis
2026-02-20  8:40   ` Bertrand Marquis
2026-02-25  4:58     ` Parav Pandit
2026-02-25  7:52       ` Bertrand Marquis
2026-02-25 12:46         ` Demi Marie Obenour
2026-02-25 13:05           ` Bertrand Marquis
2026-02-25 13:09             ` Demi Marie Obenour
2026-02-25 15:17         ` Bertrand Marquis
2026-02-24 17:57 ` Demi Marie Obenour
2026-02-25 15:21   ` Alex Bennée
2026-02-25 15:46     ` Demi Marie Obenour

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260203145523-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=armellel@google.com \
    --cc=arnaud.pouliquen@foss.st.com \
    --cc=bertrand.marquis@arm.com \
    --cc=bill.mills@linaro.org \
    --cc=edgar.iglesias@amd.com \
    --cc=viresh.kumar@linaro.org \
    --cc=virtio-comment@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.