On Wed, 9 Aug 2017 07:12:51 +0200 Thomas Huth <th...@redhat.com> wrote:
> On 08.08.2017 18:26, Greg Kurz wrote: > > On Tue, 8 Aug 2017 17:38:27 +0200 > > Cornelia Huck <coh...@redhat.com> 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 <coh...@redhat.com> > >> --- > >> > >> This is the alternative approach to "9pfs: fix and simplify dependencies". > >> Uglier; but probably not broken... > >> > > > > Yikes. I don't know why yet but this doesn't work for PCI-less targets > > like cris-softmmu... > > > > LINK cris-softmmu/qemu-system-cris > > vl.o: In function `fsdev_init_func': > > vl.c:2360: undefined reference to `qemu_fsdev_add' Hmpf. Added cris to my buildlist... > > > >> --- > >> 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..10d8caa291 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..10942fe0b4 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/ > > I think the problem are the white spaces after a ",". For example for > the following test code in a makefile: > > @echo test1: $(call lnot, n) > @echo test2: $(call lnot,n) > > I get the following output: > > test1: n > test2: y > > Hope that helps, > Thomas > Yeah, my fingers are trained to type a blank after a comma... currently testing an updated patch.