From: Greg Kurz <groug@kaod.org>
To: Cornelia Huck <cohuck@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
aneesh.kumar@linux.vnet.ibm.com, borntraeger@de.ibm.com,
agraf@suse.de, qemu-devel@nongnu.org,
Stefano Stabellini <sstabellini@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2] 9pfs: fix dependencies
Date: Wed, 9 Aug 2017 11:47:05 +0200 [thread overview]
Message-ID: <20170809114705.39dc0455@bahia.lan> (raw)
In-Reply-To: <20170809102737.18436fb4.cohuck@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3928 bytes --]
On Wed, 9 Aug 2017 10:27:37 +0200
Cornelia Huck <cohuck@redhat.com> wrote:
> On Wed, 9 Aug 2017 10:23:04 +0200
> Thomas Huth <thuth@redhat.com> wrote:
>
> > On 09.08.2017 09:17, Cornelia Huck wrote:
> > > Nothing in fsdev/ or hw/9pfs/ depends on pci; it should rather depend
> > > on CONFIG_VIRTFS and on the presence of an appropriate virtio transport
> > > device.
> > >
> > > Let's introduce CONFIG_VIRTIO_CCW to cover s390x and check for
> > > CONFIG_VIRTFS && (CONFIG_VIRTIO_PCI || CONFIG_VIRTIO_CCW).
> > >
> > > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> > > ---
> > >
> > > Changes v1->v2: drop extraneous spaces, fix build on cris
> > >
> > > ---
> > > default-configs/s390x-softmmu.mak | 1 +
> > > fsdev/Makefile.objs | 9 +++------
> > > hw/Makefile.objs | 2 +-
> > > 3 files changed, 5 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-softmmu.mak
> > > index 51191b77df..e4c5236ceb 100644
> > > --- a/default-configs/s390x-softmmu.mak
> > > +++ b/default-configs/s390x-softmmu.mak
> > > @@ -8,3 +8,4 @@ CONFIG_S390_FLIC=y
> > > CONFIG_S390_FLIC_KVM=$(CONFIG_KVM)
> > > CONFIG_VFIO_CCW=$(CONFIG_LINUX)
> > > CONFIG_WDT_DIAG288=y
> > > +CONFIG_VIRTIO_CCW=y
> > > diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs
> > > index 659df6e187..3d157add31 100644
> > > --- a/fsdev/Makefile.objs
> > > +++ b/fsdev/Makefile.objs
> > > @@ -1,10 +1,7 @@
> > > -ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
> > > # Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
> > > -# only pull in the actual virtio-9p device if we also enabled virtio.
> > > -common-obj-y = qemu-fsdev.o 9p-marshal.o 9p-iov-marshal.o
> > > -else
> > > -common-obj-y = qemu-fsdev-dummy.o
> > > -endif
> > > +# only pull in the actual virtio-9p device if we also enabled a virtio backend.
> > > +common-obj-$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO_PCI),$(CONFIG_VIRTIO_CCW)))= qemu-fsdev.o 9p-marshal.o 9p-iov-marshal.o
> > > +common-obj-$(call lnot,$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO_PCI),$(CONFIG_VIRTIO_CCW)))) = qemu-fsdev-dummy.o
> > > common-obj-y += qemu-fsdev-opts.o qemu-fsdev-throttle.o
> > >
> > > # Toplevel always builds this; targets without virtio will put it in
> > > diff --git a/hw/Makefile.objs b/hw/Makefile.objs
> > > index a2c61f6b09..335f26b65e 100644
> > > --- a/hw/Makefile.objs
> > > +++ b/hw/Makefile.objs
> > > @@ -1,4 +1,4 @@
> > > -devices-dirs-$(call land, $(CONFIG_VIRTIO),$(call land,$(CONFIG_VIRTFS),$(CONFIG_PCI))) += 9pfs/
> > > +devices-dirs-$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO_PCI),$(CONFIG_VIRTIO_CCW))) += 9pfs/
> > > devices-dirs-$(CONFIG_SOFTMMU) += acpi/
> > > devices-dirs-$(CONFIG_SOFTMMU) += adc/
> > > devices-dirs-$(CONFIG_SOFTMMU) += audio/
> >
> > Patch should be fine now, I think...
> >
> > But thinking about this again, I wonder whether it would be enough to
> > simply check for CONFIG_VIRTIO=y here instead. CONFIG_VIRTIO=y should be
> > sufficient to assert that there is also at least one kind of virtio
> > transport available, right?
> > Otherwise this will look really horrible as soon as somebody also tries
> > to add support for virtio-mmio here later ;-)
>
And virtio isn't the only transport for 9p: we also have a Xen backend,
which happen to be built because targets that support Xen also have
CONFIG_PCI I guess.
Cc'ing Stefano and Paolo who had a discussion during the review of
9p Xen backend patches:
https://patchwork.kernel.org/patch/9622325/
> Do all virtio transports have support for 9p, though? I thought it was
> only virtio-pci and virtio-ccw...
Hmm... I don't see any device-specific code in virtio-mmio.. why would it
be different for 9p than for block or net ?
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2017-08-09 9:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-09 7:17 [Qemu-devel] [PATCH v2] 9pfs: fix dependencies Cornelia Huck
2017-08-09 8:23 ` Thomas Huth
2017-08-09 8:27 ` Cornelia Huck
2017-08-09 9:07 ` Thomas Huth
2017-08-09 9:13 ` Cornelia Huck
2017-08-09 9:24 ` Daniel P. Berrange
2017-08-09 9:43 ` Cornelia Huck
2017-08-09 9:44 ` Peter Maydell
2017-08-09 9:47 ` Peter Maydell
2017-08-09 9:52 ` Cornelia Huck
2017-08-09 9:47 ` Greg Kurz [this message]
2017-08-09 11:06 ` Cornelia Huck
2017-08-09 12:10 ` Greg Kurz
2017-08-09 16:02 ` Cornelia Huck
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=20170809114705.39dc0455@bahia.lan \
--to=groug@kaod.org \
--cc=agraf@suse.de \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sstabellini@kernel.org \
--cc=thuth@redhat.com \
/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.