[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-dev] [PATCH v5 03/10] vhost-user: add requirements for the notification capability
On Mon, May 18, 2020 at 11:37:14PM +0300, Nikos Dragazis wrote: > The configuration structure for the notification capability has certain > device/driver requirements, similar to those of the MSI-X vector > configuration. Add these requirements to the device spec. > > Signed-off-by: Nikos Dragazis <ndragazis@arrikto.com> > --- > virtio-vhost-user.tex | 42 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > > diff --git a/virtio-vhost-user.tex b/virtio-vhost-user.tex > index 13ecd41..7a8cd9c 100644 > --- a/virtio-vhost-user.tex > +++ b/virtio-vhost-user.tex > @@ -275,6 +275,48 @@ \subsubsection{Notification structure layout}\label{sec:Device Types / Vhost-use > \field{VIRTIO_MSI_NO_VECTOR} to \field{notification_msix_vector} to change the > MSI-X vector for that notification. > > +\devicenormative{\paragraph}{Notification capability}{Device Types / Vhost-user Device Backend / Additional Device Resources over PCI / Notification capability} > + > +If MSI-X is available, device MUST support mapping any master queue > +event to any valid vector 0 to MSI-X \field{Table Size}. Here This section combines two things: 1. vhost-user concepts -> VIRTIO notifications 2. VIRTIO notifications -> VIRTIO PCI transport MSI-X implementation of notifications I think this should be split: 1. The virtio-vhost-user device spec should explain that vhost-user queue events are mapped to VIRTIO notifications 2. The PCI transport spec should explain how notifications are mapped to MSI-X This way other VIRTIO device types will be able to use notifications too without everyone explaining MSI-X specifics. Also it won't tie virtio-vhost-user to VIRTIO PCI. > +\field{Table Size} is the \field{N-1} encoded Table Size stored in the > +Message Control register of the MSI-X capability structure according to > +\hyperref[intro:PCI]{[PCI]}, where \field{N} is the actual MSI-X Table > +Size. > + > +Device MUST support unmapping any master queue event. > + > +The device MUST return vector mapped to a given master queue event, > +(\field{NO_VECTOR} if unmapped) on read of > +\field{notification_msix_vector}. The device MUST have all master queue > +events unmapped upon reset. "The device MUST unmap all master queue events upon reset" is clearer in indicating that the device must take this action.
Attachment:
signature.asc
Description: PGP signature
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]