All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Zhu, Lingshan" <lingshan.zhu@intel.com>
Cc: Jason Wang <jasowang@redhat.com>,
	virtio-comment@lists.oasis-open.org,
	Virtio-Dev <virtio-dev@lists.oasis-open.org>,
	Cornelia Huck <cohuck@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	nrupal.jani@intel.com, "Uminski, Piotr" <Piotr.Uminski@intel.com>,
	hang.yuan@intel.com, virtio@lists.oasis-open.org,
	Oren Duer <oren@nvidia.com>, Parav Pandit <parav@nvidia.com>,
	Shahaf Shuler <shahafs@nvidia.com>, Ariel Adam <aadam@redhat.com>,
	eperezma <eperezma@redhat.com>,
	Max Gurtovoy <mgurtovoy@nvidia.com>
Subject: Re: [virtio-dev] Re: [PATCH RFC v7 8/8] admin command list discovery
Date: Thu, 18 Aug 2022 05:05:57 -0400	[thread overview]
Message-ID: <20220818050228-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <07c3eb3c-e008-de05-d58b-b270a0f8721b@intel.com>

On Thu, Aug 18, 2022 at 04:56:43PM +0800, Zhu, Lingshan wrote:
> 
> 
> On 8/18/2022 4:51 PM, Jason Wang wrote:
> > On Sat, Aug 13, 2022 at 1:19 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > From: Max Gurtovoy <mgurtovoy@nvidia.com>
> > > 
> > > Add commands to find out which commands does each group support.
> > > This will be useful once we have multiple group types.
> > I still wonder if it's better to just use different types of
> > virtqueues, it seems more simple than this.
> Agree!

Not sure what you are agreeing to.

But I'm not sure about this command anyway, I think I will just drop it.


> > 
> > Thanks
> > 
> > > Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
> > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > > ---
> > >   admin.tex | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
> > >   1 file changed, 70 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/admin.tex b/admin.tex
> > > index 99b6c2a..5956c48 100644
> > > --- a/admin.tex
> > > +++ b/admin.tex
> > > @@ -96,9 +96,11 @@ \subsection{Group administration commands}\label{sec:Basic Facilities of a Virti
> > > 
> > >   \begin{tabular}{|l|l|}
> > >   \hline
> > > -opcode & Command Description \\
> > > +opcode & Name & Command Description \\
> > >   \hline \hline
> > > -0000h - 7FFFh   & Group administration commands    \\
> > > +0000h & VIRTIO_ADMIN_CMD_LIST_QUERY & Provides to driver list of commands supported for this group type    \\
> > > +0001h & VIRTIO_ADMIN_CMD_LIST_ACCEPT & Provides to device list of commands used for this group type \\
> > > +0002h - 7FFFh & - &  Group administration commands    \\
> > >   \hline
> > >   8000h - FFFFh   & Reserved    \\
> > >   \hline
> > > @@ -142,6 +144,72 @@ \subsection{Group administration commands}\label{sec:Basic Facilities of a Virti
> > >   structures to the shorter of the two (submitted by driver and
> > >   described in this specification).
> > > 
> > > +Before sending any other commands for any member of a specific
> > > +group to the device, the driver issues the commands
> > > +VIRTIO_ADMIN_CMD_LIST_QUERY and VIRTIO_ADMIN_CMD_LIST_ACCEPT.
> > > +
> > > +
> > > +Commands VIRTIO_ADMIN_CMD_LIST_QUERY and VIRTIO_ADMIN_CMD_LIST_ACCEPT
> > > +both use the following structure describing the
> > > +command opcodes:
> > > +
> > > +\begin{lstlisting}
> > > +struct virtio_admin_cmd_list {
> > > +       /* Indicates which of the below fields were returned
> > > +       le32 device_admin_cmds[];
> > > +};
> > > +\end{lstlisting}
> > > +
> > > +This structure is an array of 32 bit values in little-endian byte
> > > +order, in which a bit is set if the specific command opcode
> > > +is supported. For example, the array of size 2 including
> > > +the values 0x3 and 0x1 indicates that only opcodes 0, 1 and 32
> > > +are supported.
> > > +
> > > +Accordingly, bits 0 and 1 corresponding to opcode 0
> > > +(VIRTIO_ADMIN_CMD_LIST_QUERY) and 1 (VIRTIO_ADMIN_CMD_LIST_ACCEPT) must
> > > +always be set in \field{device_admin_cmds}.
> > > +
> > > +
> > > +For the command VIRTIO_ADMIN_CMD_LIST_QUERY, \field{opcode} is set to 0x0.
> > > +The \field{group_member_id} is unused. It must be set to zero by driver.
> > > +This command has no command specific data.
> > > +The device, upon success, returns a result in the format
> > > +\field{struct virtio_admin_cmd_list} describing the
> > > +list of administration commands supported for the given group.
> > > +
> > > +
> > > +For the command VIRTIO_ADMIN_CMD_LIST_ACCEPT, \field{opcode}
> > > +is set to 0x1.
> > > +The \field{group_member_id} is unused. It must be set to zero by driver.
> > > +The command specific data is in the format
> > > +\field{struct virtio_admin_cmd_list} describing the
> > > +list of administration commands used by the driver.
> > > +This command has no command specific result.
> > > +
> > > +The driver issues the command VIRTIO_ADMIN_CMD_LIST_QUERY to
> > > +query the list of commands valid for this group.  before sending
> > > +any commands for any member of a group.
> > > +
> > > +The driver then accepts some of the opcodes by sending to
> > > +the device the command VIRTIO_ADMIN_CMD_LIST_ACCEPT with a subset
> > > +of the list returned by VIRTIO_ADMIN_CMD_LIST_QUERY that is
> > > +both understood and used by the driver.
> > > +
> > > +If the device supports the command list used by the driver, the
> > > +device completes the command with status VIRTIO_ADMIN_STATUS_OK.
> > > +If the device does not support the command list, the device
> > > +completes the command with status
> > > +VIRTIO_ADMIN_STATUS_INVALID_FIELD.
> > > +
> > > +Note: drivers SHOULD NOT set bits in device_admin_cmds
> > > +if they are not familiar with how the command opcode
> > > +is used, since devices MAY have dependencies between
> > > +command opcodes.
> > > +
> > > +It is assumed that all members in a group support and are used
> > > +with the same list of commands.
> > > +
> > >   \section{Administration Virtqueue}\label{sec:Basic Facilities of a Virtio Device / Group Administration Virtqueues}
> > > 
> > >   An administration virtqueue of a parent device is used to submit
> > > --
> > > MST
> > > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> > For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
> > 


      reply	other threads:[~2022-08-18  9:05 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-12 17:18 [PATCH RFC v7 0/8] Introduce device group and device management Michael S. Tsirkin
2022-08-12 17:18 ` [PATCH RFC v7 1/8] Introduce device group Michael S. Tsirkin
2022-08-16 16:51   ` [virtio-comment] " Max Gurtovoy
2022-08-18  8:37   ` Jason Wang
2022-08-18  8:56     ` Michael S. Tsirkin
2022-08-12 17:19 ` [PATCH RFC v7 2/8] Introduce group administration commands Michael S. Tsirkin
2022-08-16 22:26   ` Max Gurtovoy
2022-08-18  8:46   ` [virtio-comment] " Jason Wang
2022-08-18  8:51     ` [virtio] " Michael S. Tsirkin
2022-08-19  0:26       ` Jason Wang
2022-08-19  3:28         ` Michael S. Tsirkin
2022-08-19  4:37           ` [virtio-comment] " Jason Wang
2022-08-19 23:41             ` Max Gurtovoy
2022-08-23  3:32               ` [virtio-comment] " Jason Wang
2022-08-24  9:20                 ` Max Gurtovoy
2022-08-12 17:19 ` [PATCH RFC v7 3/8] Introduce virtio admin virtqueue Michael S. Tsirkin
2022-08-16 22:29   ` [virtio-comment] " Max Gurtovoy
2022-08-12 17:19 ` [PATCH RFC v7 4/8] Add admin_queue_index register to PCI common configuration structure Michael S. Tsirkin
2022-08-16 22:31   ` Max Gurtovoy
2022-08-18  8:49   ` Jason Wang
2022-08-18  8:52     ` Michael S. Tsirkin
2022-08-18  8:55     ` Max Gurtovoy
2022-08-19  0:28       ` Jason Wang
2022-08-19  3:50         ` Michael S. Tsirkin
2022-08-12 17:19 ` [PATCH RFC v7 5/8] MMIO: disallow using admin vq bit Michael S. Tsirkin
2022-08-12 17:19 ` [PATCH RFC v7 6/8] ccw: disallow ADMIN_VQ Michael S. Tsirkin
2022-08-16 14:48   ` [virtio] " Halil Pasic
2022-08-16 15:48     ` Michael S. Tsirkin
2022-08-16 15:50       ` Michael S. Tsirkin
2022-08-16 22:36         ` [virtio-comment] " Max Gurtovoy
2022-08-18 13:39       ` Halil Pasic
2022-08-19  3:57         ` Michael S. Tsirkin
2022-08-23 23:45           ` [virtio-dev] " Halil Pasic
2022-08-28  9:35             ` Michael S. Tsirkin
2022-08-31 14:33               ` [virtio] " Halil Pasic
2022-08-31 14:50                 ` Michael S. Tsirkin
2022-09-01 23:33                   ` Halil Pasic
2022-08-29 18:28         ` Michael S. Tsirkin
2022-08-30 12:48           ` Halil Pasic
2022-08-30 14:31             ` Cornelia Huck
2022-08-12 17:19 ` [PATCH RFC v7 7/8] admin: document that structures can be shorter or longer Michael S. Tsirkin
2022-08-16 22:53   ` [virtio-comment] " Max Gurtovoy
2022-08-12 17:19 ` [PATCH RFC v7 8/8] admin command list discovery Michael S. Tsirkin
2022-08-16 23:06   ` Max Gurtovoy
2022-08-18  8:51   ` Jason Wang
2022-08-18  8:54     ` Michael S. Tsirkin
2022-08-18  8:56     ` [virtio-dev] " Zhu, Lingshan
2022-08-18  9:05       ` Michael S. Tsirkin [this message]

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=20220818050228-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=Piotr.Uminski@intel.com \
    --cc=aadam@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=eperezma@redhat.com \
    --cc=hang.yuan@intel.com \
    --cc=jasowang@redhat.com \
    --cc=lingshan.zhu@intel.com \
    --cc=mgurtovoy@nvidia.com \
    --cc=nrupal.jani@intel.com \
    --cc=oren@nvidia.com \
    --cc=parav@nvidia.com \
    --cc=sgarzare@redhat.com \
    --cc=shahafs@nvidia.com \
    --cc=stefanha@redhat.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=virtio@lists.oasis-open.org \
    /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.