qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Christian Pinto <c.pinto@virtualopensystems.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
	virtio-dev@lists.oasis-open.org,
	Baptiste Reynal <b.reynal@virtualopensystems.com>,
	Claudio Fontana <Claudio.Fontana@huawei.com>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	Cornelia Huck <cornelia.huck@de.ibm.com>,
	Jani Kokkonen <Jani.Kokkonen@huawei.com>,
	VirtualOpenSystems Technical Team <tech@virtualopensystems.com>
Subject: Re: [Qemu-devel] [virtio-dev][RFC v2 2/2] virtio-sdm: new device specification
Date: Thu, 4 Aug 2016 09:46:13 +0100	[thread overview]
Message-ID: <20160804084613.GA14185@stefanha-x1.localdomain> (raw)
In-Reply-To: <CAFZJSOeU8oFnbVE=+YwRfGm11CVbbjZA5BVaAotr68X_NhNfCQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3296 bytes --]

On Fri, Jul 22, 2016 at 06:18:25PM +0200, Christian Pinto wrote:
> Hello Stefan,
> 
> On Tue, Jul 19, 2016 at 10:40 AM, Stefan Hajnoczi <stefanha@redhat.com>
> wrote:
> 
> > On Tue, Jul 19, 2016 at 09:47:13AM +0200, Christian Pinto wrote:
> > > > > +During the initialization phase the device connects also to the
> > > > communication
> > > > > +channel. It has to be noted that the behavior of the device is
> > > > > +independent from the communication channel used, that is a detail of
> > > > each
> > > > > +specific implementation of the SDM device.
> > > >
> > > > How are SDM devices identified?  For example, if two SDM devices are
> > > > available, how does the driver know which one serves a particular
> > > > function?
> > > >
> > >
> > > The master-slave role is supposed to be enough to identify the device. If
> > > as an example we consider an AMP system, the master core will only see
> > one
> > > SDM master device, while the slave processor will only see the slave SDM
> > > instance. Then it is up to the implementation of the drivers to define
> > the
> > > signals served, while the SDM hardware is only in charge of forwarding
> > such
> > > signals. We do not foresee the need to have one SDM instance for each
> > > signal type.
> >
> > The laissez-faire approach of allowing the implementation to define
> > signals breaks in an environment where there can be multiple versions of
> > the SDM hardware.
> >
> > Virtio feature bits cannot be used to define signal-related
> > functionality because it's implementation-defined.  For example, there
> > is no way to express "CUSTOM_SIGNAL_2 is supported".
> >
> > In a guest OS image that can run on two different types of AMP systems,
> > how do you distinguish between the set of signals to use?
> >
> > I guess we can say that the driver has some external knowledge (e.g. the
> > board/chipset type) that allows it to know the meaning of signals and
> > which ones are available?
> >
> 
> Here I see two possibilities either what you propose, to demand on an
> external
> knowledge of the driver on the implementation of the SDM device for the
> specific board/chipset. Or alternatively we could think to embed the set of
> signals
> supported by the implementation of the device in the configuration space.
> We could univocally define signals in the specification of the device,
> statically assigning each signal to an ID.
> At devices initialization the driver reads the configuration and retrieves
> the set of
> signals supported. It is then up-to the user-level software to know the
> semantic of each
> signal (e.g., the meaning of the payload), that makes sense in my opinion.
> We could also envision that at connection time between master and slave
> there is
> an handshake phase where the slave notifies the master with the set of
> signals
> it supports, and a slave can get rejected in case of mismatch.
> 
> Does this sound in line with the virtio philosophy?
> 
> Finally, the idea of the SDM is that in each deployment there is only one
> master
> and multiple slaves.

I think the most satisfying approach from the VIRTIO spec perspective is
to include the signals in the spec.  That way feature bits can be used.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

  reply	other threads:[~2016-08-04  8:46 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-28 11:03 [Qemu-devel] [virtio-dev][RFC v2 0/2] Signal Distribution Module virtio device specification Christian Pinto
2016-06-28 11:03 ` [Qemu-devel] [virtio-dev][RFC v2 1/2] content: reserve virtio device ID Christian Pinto
2016-07-14 12:16   ` Stefan Hajnoczi
2016-07-14 12:22   ` Stefan Hajnoczi
2016-06-28 11:03 ` [Qemu-devel] [virtio-dev][RFC v2 2/2] virtio-sdm: new device specification Christian Pinto
2016-07-14 12:17   ` Stefan Hajnoczi
2016-07-19  7:47     ` Christian Pinto
2016-07-19  8:40       ` Stefan Hajnoczi
2016-07-22 16:18         ` Christian Pinto
2016-08-04  8:46           ` Stefan Hajnoczi [this message]
2016-08-08  8:00             ` Christian Pinto
2016-07-14 12:24   ` Stefan Hajnoczi

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=20160804084613.GA14185@stefanha-x1.localdomain \
    --to=stefanha@redhat.com \
    --cc=Claudio.Fontana@huawei.com \
    --cc=Jani.Kokkonen@huawei.com \
    --cc=b.reynal@virtualopensystems.com \
    --cc=c.pinto@virtualopensystems.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=tech@virtualopensystems.com \
    --cc=virtio-dev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).